C语言课程设计报告建筑工地信息管理系统
C课程设计报告(学生信息管理系统)

课程设计报告课程名称C语言程序设计课题名称学生信息管理系统专业电气工程及其自动化班级1086班学号 2姓名周铁指导教师彭祯刘琤郭芳2011年 6 月20 日湖南工程学院课程设计任务书课程名称C课程设计课题学生信息管理系统专业班级电气1086班学生姓名周铁学号 2指导老师彭祯刘琤郭芳审批任务书下达日期2011 年 6 月20 日任务完成日期2011 年7 月 1 日2目录一、题目总体介绍 ....................................... 错误!未定义书签。
二、需求分析 ............................................... 错误!未定义书签。
三、总体设计 ............................................... 错误!未定义书签。
1、现行系统组织结构图:...................... 错误!未定义书签。
2、数据结构分析....................................... 错误!未定义书签。
3、工作原理等........................................... 错误!未定义书签。
三、详细设计 ............................................... 错误!未定义书签。
四.系统调试与结果分析 ........................... 错误!未定义书签。
六、总结 ....................................................... 错误!未定义书签。
七、附件 ....................................................... 错误!未定义书签。
参考文献.................................................... 错误!未定义书签。
C语言程序设计课程设计报告

C语言程序设计课程设计实验报告一、设计名称:学生成绩治理查询系统实验项目性质:综合性所涉及课程:C语言程序设计打算学时:实验学时12二、设计目的:1.通过本课程设计,培育上机动手能力,使学生巩固《C语言程序设计》课程学习的内容,把握工程软件设计的大体方式,强化上机动手能力,闯过编程关;2.为后续各门运算机课程的学习打下坚实基础。
3.明白得程序设计的思路,把握结构化程序设计的方式,综合利用C语言进行程序编写,巩固常常利用的C语言概念,如数组、指针、结构体、链表、文件操作等,注意良好的程序设计风格的培育。
提高编写程序解决实际问题的能力、调试程序的技术。
三、设计环境(软件、硬件及条件)1.硬件:PC机2.软件:Turbo C++四、设计说明:程序系统的结构:用一系列图表列出本程序系统内的每一个程序(包括每一个模块和子程序)的名称、标识符和它们之间的层次结构关系。
主程序:新建:输入记录(遇#号时停止输入)。
插入:在指定位置插入记录。
显示:列出所有记录。
查询:一、按学号查询;二、按名字排序。
删除:一、按学号删除;二、按名字删除;3、删除所有记录。
排序:一、按语文成绩排序;二、按英语成绩排序;3、按数学成绩排序。
保留:保留为任意名字,系统自动加后缀名为.txt。
读取:读取程序目录下的后缀名为.txt的文件。
退出:退出程序。
五、各功能模块的具体实现,用图表表示。
输入记录显示开始:输入学号输入的学号是否为#Y N 结束,返回主菜单输入记录循环输入结束开始p=hp!=NULL输出学生信息;p=p->next结束按学号(姓名)查询信息Y N读取文件六、各模块(函数)的功能介绍,数据结构设计描述,参数说明等。
STUDENT *init(); /*初始化链表*/STUDENT *create(); /*新建链表*/STUDENT *del_no(STUDENT *h);/*按学号删除信息*/STUDENT *del_name(STUDENT *h); /*按姓名删除信息*/void print(STUDENT *h); /*显示信息函数*/void search_no(STUDENT *h); /*按学号搜索*/void search_name(STUDENT *h); /*按姓名搜索*/STUDENT *insert(STUDENT *h); /*插入信息函数*/void sort(STUDENT *h);/* 排序函数*/void save(STUDENT *h);/*保留数据到文件*/void load(STUDENT *h); /*从文件读取数据*/int menu_main(); /*菜单函数*/void inputs(char *prompt,char *s,int count);/*输出信息*/七、程序代码:Enter records\n");printf(" 2. Add records\n");printf(" 3. List records\n");printf(" 4. Search records\n");printf(" 5. Delete records\n");printf(" 6. Sort records\n");printf(" 9. Quit\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~9):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>9); /*选择项不在1~9之间重输*/return c; /*返回选择项,主程序依照该数挪用相应的函数*/}Search records on number\n");printf(" 2. Search records on name\n");printf(" 3. Back\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~3):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>3);return c; /*返回选择项,主程序依照该数挪用相应的函数*/}Chinese\n");printf(" 2. English\n");printf(" 3. Math\n");printf(" 4. Back\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~4):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>4);return c; /*返回选择项,主程序依照该数挪用相应的函数*/}Delete records on number\n");printf(" 2. Delete records on name\n");printf(" 3. Delete all records\n");printf(" 4. Back\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~4):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>4);return c; /*返回选择项,主程序依照该数挪用相应的函数*/}.");/*提示*/getch(); /*读入任意字符*/}.\n");getch(); /*读入任意字符*/if(p==h)h=p->next;elseq->next=p->next;free(p); /*释放*/printf("\n%s had been deleted\n",s); }printf("\nPress any key to continue..."); getch(); /*读入任意字符*/return h;}.\n");getch();if(p==h)h=p->next;else q->next=p->next;free(p); /*释放*/printf("\n%s had been deleted\n",s);}printf("\nPress any key to continue...");getch(); /*读入任意字符*/return h;}.");getch(); /*读入任意字符*/}.");getch(); /*读入任意字符*/}xt"};STUDENT *p;FILE *fp; /*指向文件的指针*/printf("\n Input the filename:");scanf("%s",outfile);strcat(outfile,last);if((fp=fopen(outfile,"wb"))==NULL) /*打开文件,并判定打开是不是正常*/ {printf("\nCannot open file!\n");exit(1); /*退出*/}p=h;while(p!=NULL){if(fwrite(p,sizeof(STUDENT)-sizeof(p->next),1,fp)!=1){printf("Error!\n");exit(1);} /*写入*/p=p->next;}fclose(fp); /*关闭文件*/printf("\n------OK------\n");printf("Press any key to continue...");getch(); /*读入任意字符*/}xt"};STUDENT *p,*a1=NULL,*a2=NULL;FILE *fp;/*概念文件指针*/printf("\n Input the filename:");scanf("%s",outfile);strcat(outfile,last);if((fp=fopen(outfile,"rb"))==NULL)/*打开文件*/{printf("\nCannot open file!\n");exit(1); /*退出*/}p=h;a1=a2=(STUDENT *)malloc(LEN);fread(a1,sizeof(STUDENT)-sizeof(a1->next),1,fp); while(!feof(fp)){n++;if(n==1)h=a1;else a2->next=a1;a1=(STUDENT *)malloc(LEN);fread(a1,sizeof(STUDENT)-sizeof(a1->next),1,fp);}a2->next=NULL;printf("\n------OK------\n");printf("Press any key to continue...");getch(p); /*读入任意字符*/}///////////////////////////////////////////void sort(STUDENT *h) /*排序函数*/{int i=0,j;STUDENT *p,*q,*t,*h1,*z;clrscr(); /*清屏*/printf("Enter you choice :\n");scanf("%d",&j);z=h;h1=h->next;h->next=NULL;while(h1!=NULL){t=h1;h1=h1->next;q=h;while(t->score[--j]<p->score[--j]&&p!=NULL){q=p;p=p->next;}if(p==q){t->next=p;h=t;}else{t->next=p;q->next=t;}}p=h;while(p!=NULL){i++;p=p->next;}h=z;printf("------OK------\n");}//////////////////////////////////////////////////九、体会、总结本课程设计完成了设计一个学生成绩治理系统,学生的学习成绩进行治理,具有查询和检索功能,而且能够对指定文件操作。
C语言建筑工地管理系统

C语言课程设计实验报告班级:****姓名:***实验名称及序号:建筑工地管理系统所属院系:计算机网络工程指导老师:张冬梅运行结果截图若选择1 :输入建筑工地信息若选择2:输入配件信息若选择3:输入销售商信息若选择4:输入销售商—配件—建筑工的信息若选择5:修改建筑工地信息若选择6:修改配件信息等等、、整体E-R图设计的程序:1、定义了四个结构体:struct building{char name[20];/*工地名称*/char num[20];/*工地号*/char city[20];/*工地所在城市*/};struct peijian{char p_name[20];/*配件名称*/char p_num[20];/*配件号码*/char p_colour[20];/*配件颜色*/char p_weight[20];/*配件重量*/char p_area[20];/*配件产地*/};struct business{char b_name[20];/*销售商名字*/char b_num[20];/*销售商号码*/char b_state[20];/*销售状态*/char b_city[20];/*所在城市*/};struct total{char b_num[20];/*销售商号码*/char p_num[20];/*配件号*/char num[20];/*工地号*/char num2[20];/*销售商为工地提供配件数量*/ };2、在定义了十四个子函数:void add1();void add2();void add3();void add4();void find1();void find2();void find3();void find4();void del1();void del2();void del3();void del4();void seek1();void seek2();char flag='y';int n;这是函数类型void add1(){char flag='y';struct building build;FILE *fp;if((fp=fopen("d:/c.txt","a+b"))==NULL) {exit(0);}while(flag=='y'){printf("请输入建筑工地名称:");scanf("%s",);printf("请输入建筑工地编号:");scanf("%s",build.num);printf("请输入工地所在城市:");scanf("%s",build.city);fwrite(&build,sizeof(struct building),1,fp); printf("是否继续y/n:\n");scanf(" %c",&flag);}fclose(fp);}这为建筑工地信息输入函数void add2(){char flag='y';struct peijian pj;FILE *fp;if((fp=fopen("d:/d.txt","a+b"))==NULL) {exit(0);}while(flag=='y'){printf("请输入配件名称:");scanf("%s",pj.p_name);printf("请输入配件编号:");scanf("%s",pj.p_num);printf("请输入配件颜色:");scanf("%s",pj.p_colour);printf("请输入配件重量:");scanf("%s",pj.p_weight);printf("请输入配件产地:");scanf("%s",pj.p_area);fwrite(&pj,sizeof(struct peijian),1,fp); printf("是否继续y/n:\n");scanf(" %c",&flag);}fclose(fp);这为配件信息输入函数void add3(){char flag='y';struct business bus;FILE *fp;if((fp=fopen("d:/e.txt","a+b"))==NULL) {exit(0);}while(flag=='y'){printf("请输入销售商名称:");scanf("%s",bus.b_name);printf("请输入销售商编号:");scanf("%s",bus.b_num);printf("请输入销售商状态:");scanf("%s",bus.b_state);printf("请输入销售商所在城市:"); scanf("%s",bus.b_city);fwrite(&bus,sizeof(struct business),1,fp); printf("是否继续y/n:\n");scanf(" %c",&flag);}fclose(fp);}这是销售商行输入函数void add4(){char flag='y';struct total bpb;FILE *fp;if((fp=fopen("d:/f.txt","a+b"))==NULL) {exit(0);}while(flag=='y'){printf("请输入销售商号码:");scanf("%s",bpb.b_num);printf("请输入配件编号:");scanf("%s",bpb.b_num);printf("请输入建筑工地编号:");scanf("%s",bpb.num);printf("请输入销售商为工地提供配件数量:");scanf("%s",bpb.num2);fwrite(&bpb,sizeof(struct total),1,fp);printf("是否继续y/n:\n");scanf(" %c",&flag);}fclose(fp);}这是销售商—配件—建筑工地信息输入函数void find1(){FILE *fp;struct building build;char flag='y',find;char name[20];if((fp=fopen("d:/c.txt","r+w"))==NULL)printf("\n\tThe system can't open the file!!");while(flag=='y'){printf("请输入您要修改的建筑工地名称:");scanf("%s",name);find='n';rewind(fp);while((fread(&build,sizeof(build),1,fp))==1&&find=='n') {if(strcmp(name,)==0){find='y';break;}}if(find=='y')printf("建筑工地名称:%s\n",);printf("建筑工地编号:%s\n",build.num);printf("建筑工地所在城市:%s\n",build.city);printf("请输入建筑工地名称:");scanf("%s",);printf("请输入建筑工地编号:");scanf("%s",build.num);printf("请输入建筑工地所在城市:");scanf("%s",build.city);fseek(fp,-(long)(sizeof(struct building)),1);/*文件标记向下*/ fwrite(&build,sizeof(build),1,fp);}printf("是否继续:");/*提示是否继续修改另一建筑工地信息*/ scanf(" %c",&flag);}fclose(fp); /*关闭文件*/}修改建筑工地信息函数void find2(){FILE *fp;struct peijian pj;char flag='y',find;char name[20];if((fp=fopen("d:/d.txt","r+w"))==NULL)printf("\n\tThe system can't open the file!!");while(flag=='y'){printf("请输入您要修改的配件名称:");scanf("%s",name);find='n';rewind(fp);while((fread(&pj,sizeof(pj),1,fp))==1&&find=='n'){if(strcmp(pj.p_name,name)==0){find='y';break;}if(find=='y'){printf("配件名称:%s\n",pj.p_name);printf("配件编号:%s\n",pj.p_num);printf("配件颜色:%s\n",pj.p_colour);printf("配件重量:%s\n",pj.p_weight);printf("配件产地:%s\n",pj.p_area);printf("请输入配件名称:");scanf("%s",pj.p_name);printf("请输入配件编号:");scanf("%s",pj.p_name);printf("请输入配件颜色:");scanf("%s",pj.p_colour);printf("请输入配件重量:");scanf("%s",pj.p_weight);printf("请输入配件产地:");scanf("%s",pj.p_name);fseek(fp,-(long)(sizeof(struct peijian)),1);/*文件标记向下*/ fwrite(&pj,sizeof(pj),1,fp);}printf("是否继续:");/*提示是否继续修改另一配件信息*/ scanf(" %c",&flag);}fclose(fp); /*关闭文件*/}修改配件信息函数void find3(){FILE *fp;struct business bus;char flag='y',find;char name[20];if((fp=fopen("d:/e.txt","r+w"))==NULL)printf("\n\tThe system can't open the file!!");while(flag=='y'){printf("请输入您要修改的销售商名称");scanf("%s",name);find='n';rewind(fp);while((fread(&bus,sizeof(bus),1,fp))==1&&find=='n'){if(strcmp(bus.b_name,name)==0){find='y';break;}}if(find=='y'){printf("销售商名称:%s\n",bus.b_name);printf("销售商编号:%s\n",bus.b_name);printf("销售商状态:%s\n",bus.b_state);printf("所在城市:%s\n",bus.b_city);printf("请输入名称:");scanf("%s",bus.b_name);printf("请输入编号:");scanf("%s",bus.b_num);printf("请输入状态:");scanf("%s",bus.b_state);printf("请输入所在城市名:");scanf("%s",bus.b_city);fseek(fp,-(long)(sizeof(struct business)),1);/*文件标记向下*/ fwrite(&bus,sizeof(bus),1,fp);}printf("是否继续:");/*提示是否继续修改另一已存用户信息*/ scanf(" %c",&flag);}fclose(fp); /*关闭文件*/}修改销售商信息函数void find4()/*按销售商号修改*/{FILE *fp;struct total bpb;char flag='y',find;char num[20];if((fp=fopen("d:/f.txt","r+w"))==NULL)printf("\n\tThe system can't open the file!!");while(flag=='y'){printf("请输入您要修改的对应对中销售商编号:");scanf("%s",num);find='n';rewind(fp);while((fread(&bpb,sizeof(bpb),1,fp))==1&&find=='n'){if(strcmp(num,bpb.b_num)==0){find='y';break;}}if(find=='y'){printf("销售商编号:%s\n",bpb.b_num);printf("配件编号:%s\n",bpb.p_num);printf("建筑工地编号:%s\n",bpb.num);printf("提供配件数量:%s\n",bpb.num2);printf("请输入销售商编号:");scanf("%s",bpb.b_num);printf("请输入配件编号:");scanf("%s",bpb.p_num);printf("请输入建筑工地编号:");scanf("%s",bpb.num);printf("请输入提供配件数量:");scanf("%s",bpb.num2);fseek(fp,-(long)(sizeof(struct total)),1);/*文件标记向下*/ fwrite(&bpb,sizeof(bpb),1,fp);}printf("是否继续:");/*提示是否继续修改另一已存用户信息*/ scanf(" %c",&flag);}fclose(fp); /*关闭文件*/}修改销售商—配件—建筑工地信息函数void del1(){struct building build;FILE *fp;if((fp=fopen("d:/c.txt","r+w"))==NULL)printf("打开文件出错");char flag='y';char find='n';char mc[30];char n;while(flag=='y'){printf("请输入姓名:");scanf("%s",mc);rewind(fp);while((fread(&build,sizeof(build),1,fp))==1&&find=='n') {if(strcmp(mc,)==0){find='y';break;}}if(find=='y'){printf("建筑工地名称:%s\n",);printf("建筑工地编号:%s\n",build.num);printf("建筑工地所在城市:%s\n",build.city);printf("是否确定删除y/n:");scanf("%c",&n);if(n=='y')strcpy(,"");strcpy(build.num,"");strcpy(build.city,"");fseek(fp,-(long)(sizeof(struct building)),1);fwrite(&build,sizeof(build),1,fp);printf("删除成功\n");}printf("是否继续删除y/n:\n");scanf(" %c",&flag);}fclose(fp);}删除建筑工地信息函数void del2()struct peijian pj;FILE *fp;if((fp=fopen("d:/d.txt","r+w"))==NULL)printf("打开文件出错");char flag='y';char find='n';char mc[30];char n;while(flag=='y'){printf("请输入配件名称:");scanf("%s",mc);rewind(fp);while((fread(&pj,sizeof(pj),1,fp))==1&&find=='n') {if(strcmp(mc,pj.p_name)==0){find='y';break;}}if(find=='y'){printf("名称:%s\n",pj.p_name);printf("编号:%s\n",pj.p_num);printf("颜色:%s\n",pj.p_colour);printf("重量:%s\n",pj.p_weight);printf("产地:%s\n",pj.p_area);printf("是否确定删除y/n:");scanf("%c",&n);if(n=='y')strcpy(pj.p_name,"");strcpy(pj.p_num,"");strcpy(pj.p_colour,"");strcpy(pj.p_weight,"");strcpy(pj.p_area,"");fseek(fp,-(long)(sizeof(struct peijian)),1);fwrite(&pj,sizeof(pj),1,fp);printf("删除成功\n");}printf("是否继续删除y/n:\n");scanf(" %c",&flag);fclose(fp);}删除配件信息函数void del3(){struct business bus;FILE *fp;if((fp=fopen("d:/e.txt","r+w"))==NULL)printf("打开文件出错");char flag='y';char find='n';char mc[30];char n;while(flag=='y'){printf("请输入销售商名称:");scanf("%s",mc);rewind(fp);while((fread(&bus,sizeof(bus),1,fp))==1&&find=='n') {if(strcmp(mc,bus.b_name)==0){find='y';break;}}if(find=='y'){printf("销售商名称:%s\n",bus.b_name);printf("销售商编号:%s\n",bus.b_num);printf("销售商状态:%s\n",bus.b_state);printf("销售商所在城市:%s\n",bus.b_city);printf("是否确定删除y/n:");scanf("%c",&n);if(n=='y')strcpy(bus.b_name,"");strcpy(bus.b_num,"");strcpy(bus.b_state,"");strcpy(bus.b_city,"");fseek(fp,-(long)(sizeof(struct business)),1);fwrite(&bus,sizeof(bus),1,fp);printf("删除成功\n");printf("是否继续删除y/n:\n");scanf(" %c",&flag);}fclose(fp);}删除销售商信息函数void del4(){struct total bpb;FILE *fp;if((fp=fopen("d:/f.txt","r+w"))==NULL)printf("打开文件出错");char flag='y';char find='n';char bh[30];char n;while(flag=='y'){printf("请输入销售商编号:");scanf("%s",bh);rewind(fp);while((fread(&bpb,sizeof(bpb),1,fp))==1&&find=='n') {if(strcmp(bh,bpb.b_num)==0){find='y';break;}}if(find=='y'){printf("销售商编号:%s\n",bpb.b_num);printf("配件编号:%s\n",bpb.p_num);printf("建筑工地编号:%s\n",bpb.num);printf("提供配件数量:%s\n",bpb.num2);printf("是否确定删除y/n:");scanf("%c",&n);if(n=='y')strcpy(bpb.b_num,"");strcpy(bpb.p_num,"");strcpy(bpb.num,"");strcpy(bpb.num2,"");fseek(fp,-(long)(sizeof(struct total)),1);fwrite(&bpb,sizeof(bpb),1,fp);printf("删除成功\n");}printf("是否继续删除y/n:\n");scanf(" %c",&flag);}fclose(fp);}删除销售商—配件—建筑工地信息函数void seek1(){FILE *fp1,*fp2;struct peijian pj;struct business bus;char flag='y',seek;if((fp1=fopen("d:/d.txt","r+w"))==NULL||(fp2=fopen("d:/e.txt","r+w"))==NULL)printf("\n\tThe system can't open the files!!");while (flag='y'){seek='n';rewind(fp1);rewind(fp2);while ((fread(&pj,sizeof(pj),1,fp1))==1&&(fread(&bus,sizeof(bus),1,fp2))==1&&seek=='n') {if(strcmp(pj.p_area,bus.b_city)==0){seek='y';break;}}if(seek='y'){printf("配件名称:%s\n",pj.p_name);printf("配件编号:%s\n",pj.p_num);printf("配件颜色:%s\n",pj.p_colour);printf("配件重量:%s\n",pj.p_weight);printf("配件产地:%s\n",pj.p_area);printf("名称:%s\n",bus.b_name);printf("编号:%s\n",bus.b_num);printf("状态:%s\n",bus.b_state);printf("销售商所在城市:%s\n",bus.b_city);}printf("是否继续:");/*提示是否继续修改另一配件信息*/scanf(" %c",&flag);}fclose(fp1);fclose(fp2);/*关闭文件*/}查询与供应商所在城市相同零件—供应商记录对函数void seek2(){FILE *fp1,*fp2;struct building build;struct business bus;char flag='y',seek;if((fp1=fopen("d:/c.txt","r+w"))==NULL||(fp2=fopen("d:/e.txt","r+w"))==NULL)printf("\n\tThe system can't open the files!!");while (flag='y'){seek='n';rewind(fp1);rewind(fp2);while ((fread(&build,sizeof(build),1,fp1))==1&&(fread(&bus,sizeof(bus),1,fp2))==1&&seek=='n') {if(strcmp(build.city,bus.b_city)==0){seek='y';break;}}if(seek='y'){printf("建筑工地名称:%s\n",);printf("建筑工地编号:%s\n",build.num);printf("建筑工地所在城市:%s\n",&build.city);printf("名称:%s\n",bus.b_name);printf("编号:%s\n",bus.b_num);printf("状态:%s\n",bus.b_state);printf("销售商所在城市:%s\n",bus.b_city);}printf("是否继续:");/*提示是否继续修改另一配件信息*/scanf(" %c",&flag);}fclose(fp1);fclose(fp2); /*关闭文件*/}查询与供应商所在城市相同项目—供应商记录对函数最后是主函数:void main() {while(n!=15) {printf("1.增加建筑工地信息\n2.增加配件信息\n3.增加销售商信息\n4.增加销售商-配件-建筑工地信息\n5.修改建筑工地信息\n6.修改配件信息\n7.修改销售商信息\n8.修改销售商-配件-建筑工地信息\n9.删除建筑工地信息\n10.删除配件信息\n11.删除销售商信息\n12.删除销售商-配件-建筑工地信息\n13.查询与供应商所在城市相同的零件-供应商记录对\n14.查询与供应商所在城市相同的项目-供应商记录对\n15.退出系统\n请选择:"); scanf("%d",&n); if(n==1)add1();else if(n==2) add2();else if(n==3) add3();else if(n==4) add4();else if(n==5) find1();else if(n==6) find2();else if(n==7) find3();else if(n==8) find4();else if(n==9) del1();else if(n==10) del2();else if(n==11) del3();else if(n==12) del4();else if(n==13) seek1();else if(n==14) seek2();}}C语言程序设计报告。
C语言课程信息管理系统课程设计报告

《C语言程序设计》课程设计报告专业:班级:姓名:指导教师:二零一二年十二月二十六日目录一、设计题目 (2)二、设计目的 (2)三、设计内容 (2)3.1需求分析 (2)3.2 概要设计 (3)3.3 详细设计 (6)3.5 编写过程中遇到的问题及解决办法 (7)3.4 调试结果 (8)3.6课程设计总结 (16)四、参考书目 (17)附录A 程序源代码 (18)一、设计题目:课程信息管理系统二、设计目的1、熟练掌握C语言课程中所学的理论知识;2、通过综合C语言的基本知识来解决实际问题;3、加强分析和解决问题的能力。
三、设计内容3.1 需求分析设计对n门课程进行管理的课程信息管理系统,每门课程有课程编号,课程名称,课程性质(B为必修,X为选修),总学时,学分等。
系统功能包括:1、系统以菜单方式工作,密码登陆。
2、课程信息的录入功能(增加数据)。
用数组数据类型赋初值的方法把课程信息送到各个数组中(但注意要是合法数据),然后把它们输出显示。
3、课程信息的删除(删除数据)。
任意输入一门课程的编号,将它所有的信息从数组中删除。
4、课程信息的浏览功能(查找数据)。
任意输入一门课程的编号,打印出所有相关数据。
要求能多次查找。
5、课程信息的删除(修改数据)。
任意输入一门课程的编号,打印出所有相关信息后,可对某一项信息进行修改并保存。
6、课程信息的计算并排序。
计算所有课程的总学分及平均学分(aver,单精度,输出一位小数),将包括所有数据的数组元素按价格从高到低的顺序排序打印出来。
3.2 概要设计程序流程图:模块分解:void pasd(); //声明密码函数声明部分(1)主函数模块void zhujie(); //声明zhujie()函数zhujie(); //调用zhujie()函数调用部分pasd(); //调用密码函数联系//声明业务函数(2调用部分:yewu(); //调用业务函数联系void inputcouinfo(void); //声明输入函数void updatecouinfo(void); //声明修改函数void addcouinfo(void); //声明添加函数声明部分void findcouinfo(void); //声明查询函数void ordercouinfo(void); //声明排序函数(3)业务模块void delcouinfo(void); //声明删除函数inputcouinfo(); //调用输入函数case '1':findcouinfo();break; //调用课程信息查询调用部分case '2':delcouinfo();break; //调用课程信息删除case '3':updatecouinfo();break; //调用课程信息修改case '4':ordercouinfo();break; //调用课程信息排序case '5':addcouinfo(); break; //调用课程信息添加数据结构的说明:#define n1 20 //控制课程个数的存储空间#define m1 5 //控制课程属性个数的存储空间空间char couinfo[n1][m1][16]; //定义全局数组char password[]={"123456"}; //原密码int a, i,j,t=0,c=0,n=4,m=5; //定义全局变量密码模块:char p[9]; //定义密码数组p[i]==8 //控制退格p[i]==13 //回车控制strcmp(p,password)==0 //密码匹配字符串比较函数int n=3; //密码输入次数控制业务模块:system("cls"); //清屏函数3.3 详细设计密码模块:注释删除模块:3.4 编写过程中遇到的问题及解决办法(1)在调试函数的过程时,一般高级语言要求函数实参与形参个数与类型一致,但在C语言编译在该点检查不严格。
c语言课程设计报告书3篇

c语言课程设计报告书3篇c语言课程设计报告书1我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。
在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。
在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。
包括了程序模块处理。
简单界面程序。
高级界面程序。
程序的添加修改。
用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。
对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。
因为学时所限,课程不能安排过多的上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。
为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。
课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1、加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的.语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。
然而要使用c语言这个工具解决实际问题,又必须掌握它。
通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。
对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。
C语言课程信息管理系统课程设计报告

课程设计报告课程名称C语言课程设计课题名称课程信息管理系统专业班级学号姓名指导教师湖南工程学院课程设计任务书课程名称C语言课程设计课题课程信息管理系统专业班级学生姓名学号指导老师审批任务书下达日期2014 年09 月01 日任务完成日期2014年09 月08 日目录一、设计题目 (4)二、设计目的 (4)三、设计内容 (4)3.1需求分析 (4)3.2 概要设计 (5)3.3 详细设计 (8)3.5 编写过程中遇到的问题及解决办法 (9)3.4 调试结果 (10)3.6课程设计总结 (18)附录A 程序源代码 (19)一、设计内容与设计要求1.设计内容:课题八:课程信息管理系统。
具体内容见附录。
2.设计要求:1)设计正确,方案合理。
2)界面友好,使用方便。
3)程序精炼,结构清晰。
4)上机演示。
3.设计报告要求:课程设计报告格式如下:1)正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体,行距为22。
2)正文的内容:课题的主要功能、课题的功能模块的划分、主要功能的实现、程序调试、总结、附件(所有程序的源代码,要求对程序写出必要的注释),课程设计报告需5000字左右(不含附件)。
3)课程设计报告装订顺序:封面、任务书、目录、正文、评分、程序清单附件。
二、进度安排3.2 概要设计程序流程图:模块分解:void pasd(); //声明密码函数声明部分(1)主函数模块void zhujie(); //声明zhujie()函数zhujie(); //调用zhujie()函数调用部分//调用密码函数//声明业务函数(2//调用业务函数void inputcouinfo(void); //声明输入函数void updatecouinfo(void); //声明修改函数//声明添加函数//声明查询函数//声明排序函数(3void delcouinfo(void); //声明删除函数inputcouinfo(); //调用输入函数调用课程信息查询//调用课程信息删除调用课程信息修改调用课程信息排序case '5':addcouinfo(); break; //调用课程信息添加数据结构的说明:#define n1 20 //控制课程个数的存储空间#define m1 5 //控制课程属性个数的存储空间空间char couinfo[n1][m1][16]; //定义全局数组char password[]={"123456"}; //原密码int a, i,j,t=0,c=0,n=4,m=5; //定义全局变量密码模块:char p[9]; //定义密码数组p[i]==8 //控制退格p[i]==13 //回车控制strcmp(p,password)==0 //密码匹配字符串比较函数int n=3; //密码输入次数控制业务模块:system("cls"); //清屏函数3.3 详细设计删除模块:3.4 编写过程中遇到的问题及解决办法(1)在调试函数的过程时,一般高级语言要求函数实参与形参个数与类型一致,但在C 语言编译在该点检查不严格。
教学信息管理系统c语言课程设计报告
教学信息管理系统c语言课程设计报告《程序设计基础》课程设计报告题目:学院教学信息管理系统日期:2012.5.21班级:计算机应用技术1102班学号:姓名:一.设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计基础(C语言)》课程后进行的一次全面的综合练习。
本课程设计的目的:1. 巩固和加深学生对C语言课程的基本知识的理解和掌握2. 掌握C语言编程和程序调试的基本技能3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力二.课程设计任务书题目:学院教学信息管理系统学院教学信息管理系统,每一条记录包括一位教师的职工号、姓名、职称、性别、3门课程教学效果、综合评分。
系统要求实现以下功能:1、输入:输入每一位教师记录,将其信息写入文件中。
2、显示:显示每位教师记录。
3、排序:按职工号或教学效果综合评分进行排序,并显示。
4、查找:完成按姓名或职工号查找教师的相关记录,并显示。
分步实施:1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。
2、建立一个文件,将每位教师的相关(教学)信息写入文件中并能显示于屏幕上。
3、完成排序(按职工号、姓名、职称等)、查找等功能。
要求:1、用C语言实现程序设计;2、利用结构体数组或者链表实现教师信息的数据结构设计;3、系统的各个功能模块要求用函数实现;4、界面友好(良好的人机交互),程序加必要的注释。
三.系统设计方案用到数据结构的定义:在此程序中用到了结构体的定义,结构体数组的定义以及变量的申明,还用到了外部函数的申明及调用。
在主函数中,输出教师信息的函数是贯穿在程序始终的,例如要实现教师的排序这一模块时,排完序后就需要用输出信息的函数来输出排序后的信息。
这就得需要多个函数共同实现这一个模块。
此程序的流程:由于系统需要实现返回主界面的功能,那么在程序的开头就需要使用do....while语句,在do....while语句内首先将系统的主界面写下来,然后又要根据不同的按键实现排序、查找、结束等功能,这就必须使用switch 语句来实现,由于实现一个功能后,还需要跳出此功能进入下一个功能,这样就要需要使用while语句来循环,直到用户需要返回主界面时就设定一个条件跳出while语句。
课程信息管理系统c语言课程设计
课程信息管理系统c语言课程设计一、课程目标知识目标:1. 让学生掌握C语言中数组、结构体和文件操作等基本知识,并能够运用这些知识设计简单的信息管理系统。
2. 使学生了解课程信息管理系统的基本功能,如增加、删除、修改和查询等。
技能目标:1. 培养学生运用C语言进行程序设计的能力,能够独立编写、调试和运行简单的信息管理系统程序。
2. 培养学生分析问题、解决问题的能力,使其能够根据需求进行系统功能的设计和实现。
情感态度价值观目标:1. 培养学生对待编程的兴趣和热情,激发他们主动学习和探索的精神。
2. 培养学生的团队协作意识,学会与他人共同解决问题,提高沟通与协作能力。
3. 引导学生认识到编程在现代社会中的重要作用,培养他们利用技术手段解决实际问题的意识。
课程性质分析:本课程为C语言课程设计,旨在让学生将所学的C语言知识应用于实际项目中,提高编程实践能力。
学生特点分析:学生已具备一定的C语言基础,对数组、结构体和文件操作等知识有一定的了解,但可能缺乏将这些知识综合运用的经验。
教学要求:1. 结合课程信息管理系统的实际需求,引导学生运用所学知识进行程序设计。
2. 注重培养学生的动手实践能力,鼓励学生积极参与课程设计和讨论。
3. 关注学生的个体差异,提供有针对性的指导,帮助每位学生达成课程目标。
二、教学内容1. 数组与字符串操作:回顾数组的基本概念,掌握一维、二维数组的使用,以及字符串的存储和处理方法。
结合课程设计,实现对课程信息的批量存储和显示。
2. 结构体与链表:讲解结构体的定义和用法,引导学生利用结构体表示课程信息,并掌握链表的基本操作,如增加、删除节点等,以实现课程信息的动态管理。
3. 文件操作:介绍文件的基本概念,教授文件的打开、关闭、读写等操作,使学生能够将课程信息保存到文件中,并从文件中读取数据。
4. 函数与模块化编程:强调模块化编程的重要性,让学生掌握函数的定义、调用和参数传递方法,将程序划分为多个功能模块,提高代码的可读性和可维护性。
c语言课程设计信息管理系统
c语言课程设计信息管理系统一、课程目标知识目标:1. 理解C语言在信息管理系统的基本应用,掌握结构体、文件操作等核心知识点的使用;2. 学会使用C语言编程实现简单的信息管理系统,包括数据的增、删、改、查等功能;3. 了解信息管理系统的基本原理,理解数据组织、存储和检索的重要性。
技能目标:1. 能够运用所学知识,独立设计并编写简单的信息管理系统程序;2. 培养良好的编程习惯,编写规范、可读性强的代码;3. 学会使用调试工具,分析和解决程序中出现的错误。
情感态度价值观目标:1. 培养学生对C语言的兴趣,激发学习热情,提高自主学习和解决问题的能力;2. 增强学生的团队合作意识,培养合作解决问题的能力;3. 通过编程实践,培养学生勇于尝试、不断优化的精神。
课程性质:本课程为C语言高级应用课程,注重理论与实践相结合,强调学生动手实践能力的培养。
学生特点:学生已经掌握了C语言的基础知识,具有一定的编程能力,但对信息管理系统的开发较为陌生。
教学要求:结合学生特点,以实践为导向,注重知识点的巩固和拓展,培养学生解决实际问题的能力。
通过本课程的学习,使学生能够将所学知识应用于实际项目中,提高其职业素养。
二、教学内容1. 知识点回顾:数据类型、运算符、控制结构、函数、数组、指针、结构体和文件操作等C语言基础知识。
2. 教学大纲:- 第一章:信息管理系统概述- 1.1 信息管理系统的基本概念- 1.2 信息管理系统的应用领域- 1.3 C语言在信息管理系统中的应用- 第二章:C语言基础知识回顾- 2.1 数据类型与运算符- 2.2 控制结构- 2.3 函数- 2.4 数组与指针- 2.5 结构体- 2.6 文件操作- 第三章:信息管理系统设计- 3.1 系统需求分析- 3.2 数据设计- 3.3 功能设计- 第四章:C语言实现信息管理系统- 4.1 系统框架搭建- 4.2 数据录入与显示- 4.3 数据增删改查功能实现- 4.4 系统测试与优化- 第五章:课程实践与拓展- 5.1 完成一个简易信息管理系统的开发- 5.2 优化系统性能- 5.3 探索C语言在信息管理系统中的其他应用教学内容安排与进度:共15课时,按照教学大纲逐步开展教学,每章节分配相应课时,确保学生充分理解和掌握所学知识。
c语言程序设计 项目信息管理系统 设计思路
c语言程序设计项目信息管理系统设计思路1.引言1.1 概述概述部分的内容是对整篇文章的简要介绍,重点阐述文章要解决的问题和提出的解决方案。
在这篇文章中,我们将探讨C语言程序设计中的项目信息管理系统的设计思路。
项目信息管理系统是一种用于管理项目的软件工具,它可以帮助我们高效地组织和管理项目相关的信息,包括项目计划、任务分配、进展跟踪等。
在本文中,我们将重点关注项目信息管理系统的设计思路,并介绍如何使用C语言编写一个简单而实用的项目信息管理系统。
该项目将通过C语言编写一个基于控制台界面的项目信息管理系统,通过使用C语言的相关知识和技巧,实现项目信息的录入、修改、查询和删除等功能。
我们将通过分析需求,设计合适的数据结构来存储项目信息,并编写相应的函数来实现各项功能。
在文章的后续部分,我们将详细讨论程序设计的概述以及具体的项目信息管理系统的设计思路。
通过本文的阐述,读者将能够了解到C语言程序设计的基本原理和技巧,并且能够运用这些知识来设计和实现自己的项目信息管理系统。
总之,在这篇文章中,我们将通过介绍C语言程序设计的基本原理和技巧,深入探讨项目信息管理系统的设计思路,帮助读者了解和掌握C语言中的项目信息管理系统的开发方法。
1.2 文章结构本文主要分为引言、正文和结论三个部分。
下面将针对每个部分进行详细说明。
1. 引言:引言部分主要包括概述、文章结构和目的三个小节。
首先,我们将介绍整篇文章的背景和目的,引入读者对项目信息管理系统设计思路的认识。
其次,我们将阐述文章结构,帮助读者建立清晰的思维框架,便于理解全文的逻辑结构。
最后,我们将明确文章的目的,即通过本文的阐述,让读者对C语言程序设计中项目信息管理系统的设计思路有一个全面而深入的了解。
2. 正文:正文部分主要包括程序设计概述和项目信息管理系统设计思路两个小节。
首先,我们将简要介绍C语言程序设计的概念和基本知识,引导读者对C语言程序设计有一个整体的了解。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言课程设计报告建筑工地信息管
理系统
C语言课程设计
名称: 建筑工地信息管理系统学院: 工程学院
班级: 055071-30
姓名: 文富奎
学号: 1003889
指导老师: 刘文中
前言
课程设计目的: C语言编程实践是学习C语言的一个重要环节, 为提高学生的程序设计能力, 经过课堂和上机实践使学生的程序设计能力有一个上升的台阶。
经过前四单元的温故而知新、庖丁解牛、举一反三、熟能生巧等过程的练习之后能够解决一些简单的实际问题。
1、题目要求
设计: ”建筑工地信息管理系统”
建立如下4个文件( 括号内为文件中每条记录的字段内容) :
(1)销售商-配件-建筑工地 ( 销售商号码, 配件号, 工地号, 数量) (2)建筑工地 ( 工地号, 名字, 城市)
(3)配件 ( 配件号, 配件名, 颜色, 重量, 产地)
(4)销售商 ( 号码, 名字, 状态, 城市)
功能:
(1)首先建立文件, 然后插入数据, 并进行删除、更新操作, 最后进行查询操作。
(2)查询与供应商所在城市相同的零件——供应商, 项目——供应商记录对。
2、分析
根据题目要求, 建立文件, 应选择结构体数组来存放数据, 再定义一个全局变量和文件指针进行程序的运行, 然后把数据信息存入文件中, 因此要提供结构体和文件的输入输出等操作; 在程序中要进行数据的插入、删除、更新、查询等操作, 因此需要建立相应的模块来实现, 为简便起见, 还应建立一个主菜单, 在每个模块中建立相应的副菜单; 另外, 还要提供键盘式选择菜单来实现选择功能, 使程序在运行时达到要求。
3、总体设计
根据题目要求, 能够将系统分为:
1)插入数据模块;
2)删除模块;
3)查询模块;
4)查找配对;
5)功能选择菜
图1 系统功能模块图
4、详细设计
一、主函数
【分析】主函数一般设计得比较简便, 只提供输入、处理和输出部分的函数调用。
其中各功能模块用菜单方式选择。
其流程图:
图2 主函数流程图
【程序】
/************************主菜单*********************************/
void menu()。