高级语言程序设计课程设计报告

时间:2024.4.20

《高级语言程序设计》

课程设计报告

    名:            

    号:            

    级:            

设计时间:             

审阅教师:             


       

一.封面………………………………………………………………1

二.目录页……………………………………………………………2

三.语言描述及截图…………………………………………3—— 5

四.源程序清单………………………………………………6——29


(报告正文部分的格式)

(要求:正文部分一律用五号字,宋体,单倍行距。一级大标题靠左,四号,宋体,加粗。二级大标题靠左,小四,宋体,不加粗。)

课程设计的内容如下:

一. 课程设计的目的与要求(含设计指标)

   (参见课程设计要求)

二. 方案实现与调试

2.1分屏处理数据系统

?2.1.1 题目内容的描述

?2.1.2 应用程序功能的详细说明

?2.1.3 输入数据类型、格式和内容限制;

?2.1.4主要模块的算法描述

 每次主循环产生一屏10*10的数组,分别两两比较2个元素的大小,较大的赋给MAX,较小的赋给MIN,各个元素累加结果除以100输出平均数。结尾清屏以达到翻页效果.

2.1.5  调试过程及实验结果

2.2骰子游戏

?2.2.1 题目内容的描述

?2.2.2 应用程序功能的详细说明

?2.2.3 输入数据类型、格式和内容限制;

?2.2.4主要模块的算法描述

  产生1到6的随机数赋给1个包含4个元素的数组,如果前后两个数字大小一样且都为6则选手得8分,若前后两个数字大小一样但不为6则选手得7分,若果前后数字不一样,则按较小数计分。分别将2个选手的得分相加,比较总分,得到最后结果.

2.2.5  调试过程及实验结果

2.3射击游戏

产生一个1到200的随机数,输出相应数量空格,然后紧接着输出笑脸。利用循环逐行输出空格回车,在笑脸下方底部输出星号,利用空循环延时,以达到星号上移的效果.若用户输入数字与产生的随机数相同,星号击中笑脸,玩家获胜,游戏结束。若5次都错,玩家失败,游戏结束

  2.6猜数字游戏

   利用数组存放产生的随机数,创建一个TXT文本文档,将游戏过程中的所有数据写入其中.比较用户输入的数字和最开始随机产生的答案,输出猜对的个数和位置。直到用户猜对,退出程序

 

 2.7金币

  将天数分为i组,先计算出i组的天数内金币总和,然后将实际天数减去i组内的最后一天,把天数差乘以i,最后将所得的结果与之前的总和相加得到最后的金币数量,输出.

 

深化部分  职工工资管理系统设计

  坦白地说,深化部分并不是自己独立完成的,在编写过程中参阅了课外指导材料,同时感谢爱问知识堂的网友热情的解答.

 

三.课程设计分析与总结

   通过本次课程设计,我进一步熟悉掌握了Turbo C 2.0 的编程环境和书写规范.

   在课程设计的过程中,我遇到的了许多困难,有的时候简直抓狂,完全找不到出错的原因。一段时间以后,静下心来,逐行逐句的找错,调试,最后终于发现了症结所在。在设计的过程中,我通过向同学求助,查阅课本及相关资料学习到了许多新的知识.

经过这次的课程设计,我变得更加细心,对于C语言的兴趣更加深厚了。最后发现通过自己的努力探索往往会比在课堂上获得的更多……

四. 源程序清单

1分屏处理数据系统

#include <stdio.h>

#include <stdlib.h>

#define N 10

main()

{

 int m=0,i,j,p,max,min,a[N][N];

 float sum;

 randomize();

 for(p=0;p<10;p++)

 {

  sum=0;

  for(i=0;i<N;i++)

    for(j=0;j<N;j++)

     a[i][j]=random(999);

  max=a[0][0];

  min=a[0][0];

  for(i=0;i<N;i++)

  {

   for(j=0;j<N;j++)

   {

    printf("%5d",a[i][j]);

    sum=sum+a[i][j];

    if(a[i][j]>=max) max=a[i][j];

    if(a[i][j]<=min) min=a[i][j];

   }

   printf("\n");

   m=m++;

  }

 printf("  Max=%d, Min=%d, Average=%.2f\n",max,min,sum/100);

 printf("  Press any key to continue...");

 if(m>=10)

 getch();

 clrscr();

 }

}

2骰子游戏

#include <stdio.h>

#include <stdlib.h>

main()

{

 int i,score,n=1,m=0,p1=0,p2=0,a[4];

 randomize();

 clrscr();

 do

 {

  for(i=0;i<4;i++)

  a[i]=1+random(6);

  for(i=0;i<4;i=i+2)

  {

   if(a[i]==a[i+1])

    {

     if(a[i]==6) score=8;

     else  score=7;

    }

   else

    {

     if(a[i]>a[i+1]) score=a[i+1];

     else score=a[i];

    }

   if(n%2!=0) p1=p1+score;

   else  p2=p2+score;

   if((m==5) && (p1>=p2*2 || p2>=p1*2))

   break;

   n++;

  }

  for(i=0;i<4;i++)

  {

   printf("%2d",a[i]);

   if(i%2!=0)

   printf("\n");

  }

  printf(" p1=%d  p2=%d\n",p1,p2);

  printf("Press any key to continue.....\n\n");

  getch();

  m++;

  }while(m!=10);

  if(p1>p2) printf("\nPlayer1 is the winner.\n");

  if(p1==p2) printf("The same.\n");

  if(p1<p2) printf("Player2 is the winner.\n");

}

3射击游戏

#include<stdio.h>

#include<stdlib.h>

main()

{

  int a,b,i,j,k,t=0,m,c;

  clrscr();

  randomize();

  a=1+random(200);

  do

  {

    clrscr();

    k=25;

    t++;

    for(i=0;i<a;i++)  printf(" ");

    printf("%c",'\1');

    printf("\nPlease input a number between 1 to 200:");

    scanf("%d",&b);

    if(b<1||b>200)

    {

      printf("Error! Please check the number you put.");

      break;

    }

    do

    {

      clrscr();

      k--;

      for(i=0;i<a;i++)  printf(" ");

      printf("%c",'\1');

      for(i=0;i<k;i++)  printf("\n");

      for(i=1;i<=b;i++)  printf(" ");

      printf("*");

      for(j=0;j<18000;j++)

       for(m=0;m<1000;m++)

         c=m;

    }while(k!=0);

    if(b==a)

    {

      clrscr();

      printf("Congradulations!You get the right answer!");

      break;

    }

  }while(t!=5);

  if(a!=b && t==5)

  {

    clrscr();

    printf("Sorry...All the answers are wrong.");

  }

}

6猜数字游戏

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

main()

{

  FILE*fp;

  int a[4],b[4],i,j,t,p,q;

  char c;

  clrscr();

  randomize();

  if((fp=fopen("Guessing.txt","a"))==NULL)

    printf("Can not open output file.");

  for(i=0;i<4;i++)

    a[i]=random(10);

  fprintf(fp,"\nThe right answer is:");

  for(i=0;i<4;i++)

  {

  fprintf(fp," %d",a[i]);

  }

  do

  {

    p=0;

    q=0;

    printf("Please input numbers:\n");

    fprintf(fp,"\nPlease input numbers:");

    for(i=0;i<4;i++)

    {

      c=getche();

      b[i]=c-'0';

      fprintf(fp,"  %d",b[i]);

    }

    for(i=0;i<4;i++)

    {

      if(a[i]==b[i])  q++;

    }

    for(i=0;i<4;i++)

    {

      j=0;

      do

      {

       if(a[i]==b[j])

       {

         p++;

         b[j]=-1;

       }

       j++;

      }while(j!=4);

    }

   if(q!=4)

   printf("\nThere are %d numbers right and %d in the right locatoin\n",p,q);

   fprintf(fp,"\nThere are %d numbers right and %d numbers in the right location",p,q);

  }while(q!=4);

  if(q==4)

  {

    printf("\nCongrudulations!");

    fprintf(fp,"\nCongrudulations!");

  }

  if(q!=4)

  {

    printf("\nSorry...YOU LOSE!");

    fprintf(fp,"\nSorry...YOU LOSE!\n");

  }

}

7金币

#include <stdio.h>

main()

{

 int n,i,sum=0,last_num=0;

 clrscr();

 printf("Please input the day:");

 scanf("%d",&n);

 for(i=1; (i*i+i)/2 <= n;i++)

  {

   sum=sum+i*i;

   last_num=last_num+i;

  }

 if(n-last_num>0)

 sum=sum+i*(n-last_num);

 printf("The number of the gold is:%d\n",sum);

}

深化部分  职工工资管理系统设计

#include<stdio.h>

#include<conio.h>

#include<malloc.h>

#include<string.h>

typedef struct ZHIGONG

{

char zhigongNumber[10];

char zhigongName[20];

char zhigongsex[4];

char zhigongage[10];

char zhigongedu[10];

char zhigongposition[30];

char zhigongwage[1000];

struct ZHIGONG *next;

}ZHIGONG;

ZHIGONG *headLink;

void ReadInfoFormFile(void);

void DesplayMenu(void);

void CreateHeadLink(void);

ZHIGONG *MallocNode(void);

void GetInformation(ZHIGONG *t);

void InsertOneNode(ZHIGONG *t);

void DesplayInfoByzhigongwage(void);

void DesplayInfoByezhigongedu(void);

void DesplayOneNode(ZHIGONG *t);

void DeleteNodeByzhigongNumber(void);

void OutputInformation(void);

void ChangeMarkByzhigongName(void);

void CompositorByTotalzhigongwage(void);

void CompositorByTotalzhigongedu(void);

void SaveLinkToFile(void);

int choose;

void main()

{

CreateHeadLink();

ReadInfoFormFile();

DesplayMenu();

SaveLinkToFile();

}

/************************************

************************************/

void ReadInfoFormFile(void)

{

FILE *fp;

ZHIGONG *p;

fp=fopen("zhigong.txt","r");

if(!fp)

{

printf("The file didn't exist.\n");

return;

}

p=MallocNode();

while(fscanf(fp,"%s%s%s%s%s%s%s",p->zhigongNumber,p->zhigongName,p->zhigongsex,

p->zhigongage,p->zhigongedu,p->zhigongposition,p->zhigongwage))

{

InsertOneNode(p);

p=MallocNode();

}

fclose(fp);

}

/************************************

************************************/

void DesplayMenu(void)

{

ZHIGONG *p;

printf("-----------Please Choose------------\n\n");

printf(" 1 Please input the information \n");

printf(" 2 Show the information \n");

printf(" 3 Look up by salary \n");

printf(" 4 Look up by education \n");

printf(" 5 Rebuild by salary \n");

printf(" 6 Rebuild by education \n");

printf(" 7 Delete according to working number \n");

printf(" 8 Change according to working number  \n");

printf(" 9 Exist\n\n");

scanf("%d",&choose);

switch(choose)

{

case 1:

p=MallocNode();

GetInformation(p);

InsertOneNode(p);

break;

case 2:

OutputInformation();

break;

case 3:

DesplayInfoByzhigongwage();

break;

case 4:

DesplayInfoByezhigongedu();

break;

case 5:

CompositorByTotalzhigongwage();

break;

case 6:

CompositorByTotalzhigongedu();

break;

case 7:

DeleteNodeByzhigongNumber();

break;

case 8:

ChangeMarkByzhigongName();

break;

case 9:

SaveLinkToFile();

free(headLink);

default:

break;

}

DesplayMenu();

}

/************************************

************************************/

void CreateHeadLink(void)

{

ZHIGONG *p;

p=(ZHIGONG*)malloc(sizeof(ZHIGONG));

headLink=p;

p->next=NULL;

}

/****************************************

*****************************************/

ZHIGONG *MallocNode(void)

{

ZHIGONG *p;

int i;

p=(ZHIGONG*)malloc(sizeof(ZHIGONG));

if(p==NULL)

return NULL;

for(i=0;i<10;i++)

p->zhigongNumber[i]='\0';

for(i=0;i<20;i++)

p->zhigongName[i]='\0';

for(i=0;i<4;i++)

p->zhigongsex[i]='\0';

for(i=0;i<10;i++)

p->zhigongage[i]='\0';

for(i=0;i<10;i++)

p->zhigongedu[i]='\0';

for(i=0;i<30;i++)

p->zhigongposition[i]='\0';

for(i=0;i<1000;i++)

p->zhigongwage[i]='\0';

p->next=NULL;

return p;

}

/************************************

************************************/

void GetInformation(ZHIGONG *t)

{

printf("Please input the working number:\n");

scanf("%s",t->zhigongNumber);

printf("Please input the name:\n");

scanf("%s",t->zhigongName);

printf("Please input the sex:\n");

scanf("%s",t->zhigongsex);

printf("Please input the birthday:\n");

scanf("%s",t->zhigongage);

printf("Please input the education:\n");

scanf("%s",t->zhigongedu);

printf("Please input the office position:\n");

scanf("%s",t->zhigongposition);

printf("Please input the salary:\n");

scanf("%s",t->zhigongwage);

}

/************************************

************************************/

void InsertOneNode(ZHIGONG *t)

{

ZHIGONG *p;

p=headLink;

while(p->next)

{

p=p->next;

}

p->next=t;

}

/*************************************************

**************************************************/

void DesplayInfoByzhigongwage(void)

{

ZHIGONG *p;

char zhigongwage[1000];

char flag=0;

p=headLink->next;

printf("Please input the salary:\n");

scanf("%s",zhigongwage);

while(p)

{

if(strcmp(p->zhigongwage,zhigongwage)==0)

{

printf("Working number\tName\tSex\tBirthday\tEducation\tOffice Position\tSalary\n\n");

DesplayOneNode(p);

flag=1;

break;

}

p=p->next;

}

if(!flag)

printf("Sorry.There is no worker in salary of %s.\n",zhigongwage);

}

/************************************************

*************************************************/

void DesplayInfoByezhigongedu(void)

{

ZHIGONG *p;

char zhigongedu[10];

char flag=0;

p=headLink->next;

printf("Please input the education:\n");

scanf("%s",zhigongedu);

while(p)

{

if(strcmp(p->zhigongedu,zhigongedu)==0)

{

printf("Working number\tName\tSex\tBirthday\tEducation\tOffice Position\tSalary\n\n");

DesplayOneNode(p);

flag=1;

break;

}

p=p->next;

}

if(!flag)

printf("Sorry.There is no worker in salary of %s.\n",zhigongedu);

}

/************************************

************************************/

void DesplayOneNode(ZHIGONG *t)

{

printf("%s\t",t->zhigongNumber);

printf("%s\t",t->zhigongName);

printf("%s\t",t->zhigongsex);

printf("%s\t",t->zhigongage);

printf("%s\t",t->zhigongedu);

printf("%s\t",t->zhigongposition);

printf("%s\t\n",t->zhigongwage);

}

/*************************************************

**************************************************/

void DeleteNodeByzhigongNumber(void)

{

char zhigongNumber[10];

ZHIGONG *p,*q;

char flag=0;

printf("Please input the working number:");

scanf("%s",zhigongNumber);

p=headLink;

q=headLink->next;

while(q)

{

if(strcmp(q->zhigongNumber,zhigongNumber)==0)

{

p->next=q->next;

free(q);

flag=1;

break;

}

p=p->next;

q=q->next;

}

if(!flag)

{

printf("Sorry.There is no such a number.\n");

return;

}

printf("Delete Sucessfully.\n");

}

/************************************

************************************/

void OutputInformation(void)

{

ZHIGONG *p;

p=headLink->next;

if(p==NULL)

{

printf("Please input the information\n\n");

return;

}

printf("Working Number\tName\tSex\tBirthday\tEducation\tOffice Position\tSalary\n\n");

while(p)

{

DesplayOneNode(p);

p=p->next;

}

}

/*********************************************

**********************************************/

void ChangeMarkByzhigongName(void)

{

ZHIGONG *p;

char zhigongName[10];

char flag=0;

char zhigongedu,zhigongwage,zhigongage,zhigongNumber,zhigongsex,zhigongposition;

p=headLink->next;

printf("Please input the name:\n");

scanf("%s",zhigongName);

while(p)

{

if(strcmp(p->zhigongName,zhigongName)==0)

{

printf("Please input the new working number:\n");

scanf("%s",&zhigongNumber);

printf("Please input the new education:\n");

scanf("%s",&zhigongedu);

printf("Please input the new salary:\n");

scanf("%s",&zhigongwage);

printf("Please input the new birthday:\n");

scanf("%s",&zhigongage);

printf("Please input the new sex:\n");

scanf("%s",&zhigongsex);

printf("Please input the new office position:\n");

scanf("%s",&zhigongposition);

strcpy(p->zhigongposition,&zhigongposition);

strcpy(p->zhigongsex,&zhigongsex);

strcpy(p->zhigongNumber,&zhigongNumber);

strcpy(p->zhigongedu,&zhigongedu);

strcpy(p->zhigongwage,&zhigongwage);

strcpy(p->zhigongage,&zhigongage);

flag=1;

printf("Change Sucessfully.\n");

break;

}

p=p->next;

}

if(!flag)

printf("Sorry.There is no worker named %s.\n",zhigongName);

}

/************************************

************************************/

void SaveLinkToFile(void)

{

ZHIGONG *p;

FILE *fp;

p=headLink->next;

if(p==NULL)

{

printf("Please input the information\n\n");

return;

}

fp=fopen("zhigong.txt","w+");

if(!fp)

{

printf("The file didn't exist.\n");

return;

}

while(p)

{

fprintf(fp,"%s%s%s%s%s%s%s",p->zhigongNumber,p->zhigongName,p->zhigongsex,

p->zhigongage,p->zhigongedu,p->zhigongposition,p->zhigongwage);

p=p->next;

}

fclose(fp);

}

/************************************

************************************/

void CompositorByTotalzhigongwage(void)

{

ZHIGONG exchange,*r,*p,*q;

r=headLink->next;

if(r==NULL)

{

printf("Please input the information\n");

return;

}

while(r)

{

p=r;

q=r->next;

while(q)

{

if((p->zhigongwage)>(p->zhigongwage))

{

strcpy(exchange.zhigongNumber,q->zhigongNumber);

strcpy(exchange.zhigongName,q->zhigongName);

strcpy(exchange.zhigongsex,q->zhigongsex);

strcpy(exchange.zhigongage,q->zhigongage);

strcpy(exchange.zhigongedu,q->zhigongedu);

strcpy(exchange.zhigongposition,q->zhigongposition);

strcpy(exchange.zhigongwage,q->zhigongwage);

strcpy(q->zhigongNumber,p->zhigongNumber);

strcpy(q->zhigongName,p->zhigongName);

strcpy(q->zhigongsex,p->zhigongsex);

strcpy(q->zhigongage,p->zhigongage);

strcpy(q->zhigongedu,p->zhigongedu);

strcpy(q->zhigongposition,p->zhigongposition);

strcpy(q->zhigongwage,p->zhigongwage);

strcpy(p->zhigongNumber,exchange.zhigongNumber);

strcpy(p->zhigongName,exchange.zhigongName);

strcpy(p->zhigongsex,exchange.zhigongsex);

strcpy(p->zhigongage,exchange.zhigongage);

strcpy(p->zhigongedu,exchange.zhigongedu);

strcpy(p->zhigongposition,exchange.zhigongposition);

strcpy(p->zhigongwage,exchange.zhigongwage);

}

q=q->next;

}

r=r->next;

}

OutputInformation();

}

/************************************

************************************/

void CompositorByTotalzhigongedu(void)

{

ZHIGONG exchange,*r,*p,*q;

r=headLink->next;

if(r==NULL)

{

printf("Please input the information\n");

return;

}

while(r)

{

p=r;

q=r->next;

while(q)

{

if((q->zhigongedu)>(p->zhigongedu))

{

strcpy(exchange.zhigongNumber,q->zhigongNumber);

strcpy(exchange.zhigongName,q->zhigongName);

strcpy(exchange.zhigongsex,q->zhigongsex);

strcpy(exchange.zhigongage,q->zhigongage);

strcpy(exchange.zhigongedu,q->zhigongedu);

strcpy(exchange.zhigongposition,q->zhigongposition);

strcpy(exchange.zhigongwage,q->zhigongwage);

strcpy(q->zhigongNumber,p->zhigongNumber);

strcpy(q->zhigongName,p->zhigongName);

strcpy(q->zhigongsex,p->zhigongsex);

strcpy(q->zhigongage,p->zhigongage);

strcpy(q->zhigongedu,p->zhigongedu);

strcpy(q->zhigongposition,p->zhigongposition);

strcpy(q->zhigongwage,p->zhigongwage);

strcpy(p->zhigongNumber,exchange.zhigongNumber);

strcpy(p->zhigongName,exchange.zhigongName);

strcpy(p->zhigongsex,exchange.zhigongsex);

strcpy(p->zhigongage,exchange.zhigongage);

strcpy(p->zhigongedu,exchange.zhigongedu);

strcpy(p->zhigongposition,exchange.zhigongposition);

strcpy(p->zhigongwage,exchange.zhigongwage);

}

q=q->next;

}

r=r->next;

}

OutputInformation();

}

更多相关推荐:
《C语言程序设计》课程设计报告(小组)

东莞理工学院《C语言程序设计》课程设计题目:图书信息管理系统院系:电子工程学院专业:电子信息工程年级:20##班别:2班指导教师:##组长:##同组成员:##目录一、目的....................…

c语言课程设计报告

C语言程序设计课程设计学生姓名学号系院专业设计论文题目学生选课系统管理完成日期20xx年6月指导教师目录一实验目的二实验内容三总体设计四详细设计五运行结果六课程设计体会一实验目的1通过课程设计加深对结构化程序设...

C语言课程设计报告

河南理工大学计算机科学与技术学院课程设计报告20XX20XX学年第一学期课程名称C语言课程设计设计题目《小学算术运算测试》学生姓名学号专业班级计算机07-2班指导教师20XX年9月12日目录1.设计任务书21.…

C语言课程设计报告范例

C语言课程设计报告设计题目专业班级学号姓名任课老师时间目录一课程设计题目及所涉及知识点二课程设计思路及设计流程图三课程设计中遇到的难点及解决办法四小结五附录原程序2一课程设计题目及所涉及知识点一课程设计题目1基...

厦门理工学院11级C语言C语言程序设计课程设计报告

C语言程序设计课程设计报告20xx20xx学年第1学期题目专业班级姓名学号指导教师成绩计算机科学与技术系20xx年12月31日目录一课程设计的目的与要求1二方案实现与调试221掷骰子游戏222射击游戏323汽车...

C语言程序设计课程设计报告

C语言程序设计课程设计报告20xx20xx学年第1学期专业计算机科学与技术班级姓名学号指导教师成绩计算机科学与技术系20xx年12月31日目录一课程设计的目的与要求3二方案实现与调试321掷骰子游戏322汽车加...

c语言程序贪吃蛇课程设计报告

山东工商学院信电学院自动111班第一组贪吃蛇课程设计报告高级语言程序设计课程设计报告ExperimentDesigningreporter课程名称高级语言程序设计英文名称CProgramExperimentDe...

C语言课程设计报告-图书管理系统

课程设计报告图书馆管理系统目录1题目与要求22系统总体设计要给出必要的文字说明及必要的图示321功能需求分析明确选题的功能需求322系统功能模块划分要给出系统功能模块图43详细设计431重要数据的数据结构设计即...

C语言课程设计报告_运动会分数统计系统

C语言课程设计报告_运动会分数统计系统一.需求分析1问题描述运动会分数统计系统参加运动会有n个系,系编号为1n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1m,女子m+1m+w。不同的项目取前五名或前…

C语言课程设计报告---学籍信息管理系统

中国地质大学本科生课程论文封面1课程设计评语注1无评阅人签名成绩无效2必须用钢笔或圆珠笔批阅用铅笔阅卷无效3如有平时成绩必须在上面评分表中标出并计算入总成绩2目录课程设计评语2目录31课程论文题目42程序设计思...

《C语言程序设计》课程设计报告格式 (2)

C语言程序设计课程设计报告20xx20xx学年第1学期专业软件工程软件测试服务班级1班姓名学号陈家汀指导教师谢小竹成绩计算机与信息工程学院20xx年1月12日目录一课程设计的目的与要求页码二方案实现与调试页码2...

C语言程序设计基础课程设计报告

程序设计基础课程设计报告课程名称课程设计题目程序设计基础课程设计学生信息管理系统姓名系专业年级学号指导教师职称计算机科学技术系计算机网络技术讲师20xx年1月1日一设计题目及要求1题目学生信息管理系统2要求1建...

c语言程序设计课程设计报告(34篇)