C课程设计报告要求
C语言课程设计报告(学生成绩管理系统)

C语言课程设计报告:学生成绩管理系统系统需求一、当前学生信息:通过结构体struct student 来保存学生的姓名,学号,性别,语文,数学,英语和计算机等等相关信息,并且通过cin函数来进行给当前学生输入初始信息。
二、学生成绩查询: 输入一个学号,在文件中查找此学生, 若找到则输出此学生的全部信息和成绩;若找不到则输出查找失败的信息. 同时也可以全部把各科的平均成绩,最高和最低分输出。
三、新生插入:通过给该生的学号来和原班上的学生的学号比较大小,若大就在后,若小则靠前排,将此生的信息保存下来。
四、输出全部学生信息和全部学生成绩。
五、退出系统。
六、附加说明:系统将来完善的功能有:可以通过性别来模糊查询,也可以通过姓名的姓来先进行模糊查询,以便后面精确查找.总体设计一、仔细阅读系统要求,首先将此系统化分为如下模块(即如下函数)1、输入初始的学生信息:其中包括学生的姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息;可用函数cin(stu *p1)来实现此操作。
2、查询模块:可用stu *lookdata(stu *p1)来实现。
找到就输出此学生全部信息包括学生的语文、数学、英语和计算机等的成绩.3、插入模块:可用insert( )函数来实现.其中通过学号的大小来比较的,并且以此来排序。
4、输出学生的信息以及成绩:通过学生的姓名来查看学生的语文、数学、英语和计算机等相关成绩,同时也可以分别通过caverage() 、maverage() 、eaverage() 和comaverage() 来输出语文、数学、英语和计算机等成绩的平均分数、最高和最低分数。
5、退出系统:可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。
二、系统主模块结构图:详细设计一、界面设计此系统界面采用图形和数字化菜单设计. 主界面设计如下:学生成绩管理系统请选择相应的数字执行相应的功能:1:是否输入其他数据2:查看数据3:插入数据4:查找数据5:更新数据6:保留数据7:显示或打印数据8:语文成绩状况9:数学成绩状况10:英语成绩状况11:计算机成绩状况12:?13:退出系统二、数据结构设计:程序设计中用到的结构体类型:学生信息结构体类型:typedef struct student{char name[MAX];int num[MAX];char sex[MAX];int chinese;int mathematic;int english;int computer;struct student *next;}程序代码://原始密码是123456#include"stdio.h"#include"stddef。
vc课程设计

v c 课程设计一、课程目标知识目标:1. 学生能够掌握维生素C的基本概念,了解其在人体健康中的作用及其食物来源。
2. 学生能够描述维生素C的化学性质,理解其在储存和烹饪过程中的变化。
3. 学生能够对比不同食物中维生素C含量的差异,并解释相关因素。
技能目标:1. 学生能够运用批判性思维,分析日常饮食中维生素C的摄入情况,提出合理搭配建议。
2. 学生通过实验操作,掌握测定食物中维生素C含量的基本方法,培养实验操作能力。
3. 学生能够运用所学知识,设计健康饮食宣传资料,提升信息整合与传达能力。
情感态度价值观目标:1. 学生培养对健康饮食的关注,认识到合理摄入维生素C的重要性,形成良好的饮食习惯。
2. 学生在小组合作中,学会倾听他人意见,尊重团队成果,培养合作精神。
3. 学生通过课程学习,增强关爱自己及他人健康的责任感,树立正确的健康观念。
本课程针对五年级学生设计,结合学科特点,以生活实际为切入点,注重知识与实践的结合。
通过课程学习,使学生不仅掌握维生素C的相关知识,还能将所学应用于实际生活中,提高学生的健康素养。
同时,关注学生个体差异,激发学习兴趣,培养科学精神和团队合作能力。
二、教学内容1. 维生素C的基本概念及其生理功能- 维生素C的化学性质与结构- 维生素C在人体内的作用机理- 维生素C的食物来源及其生物利用率2. 维生素C的食物含量与储存烹饪变化- 不同食物中维生素C含量的比较- 维生素C在储存和烹饪过程中的变化及影响因素- 如何减少维生素C的损失,保持食物营养价值3. 维生素C的摄入与评估- 评估学生日常饮食中维生素C的摄入情况- 提出合理搭配建议,优化饮食结构- 实验教学:测定食物中维生素C含量的基本方法4. 健康饮食宣传与教育- 设计健康饮食宣传资料,传播维生素C相关知识- 课堂讨论:如何提高公众对维生素C的认识和重视- 案例分析:探讨不良饮食习惯对健康的影响教学内容依据课程目标,结合教材相关章节进行编排。
C语言程序课程设计实验报告(用一个字符数组保存一个英文句子)

河南城建学院《高级语言程序设计》课程设计报告设计题目:用一个字符数组保存一个英文句子专业:计算机科学与技术班级:设计人员:指导教师:计算机科学与工程学院2015年06 月25日一、课程设计题目13.用一个字符数组保存一个英文句子。
二、设计要求1)删除该英文句子中的前导空格,后导空格,并删除句子中多余的空格(单词之间只留一个空格);2)统计该句子中,单词出现的频率;3)查找并替换某个单词。
三、程序介绍1.去除字符组中间空格。
void zhongjian(char a[]){int i,j,k; /*定义整形变量i,j,k。
i,j 作为函数内循环的控制变量。
定义k用于字符组长度存放。
*/ k=strlen(a); /*将字符组a的长度存放于k 中。
(字符组a即待处理的字符组)*/for(i=0;i<k;) /*循环控制,从第一位循环到字符组结束。
*/if(a[i]!=' 'i++; /*条件控制,若当前字符不为空格,跳到下一位再进行循环。
*/else if(a[i]==' ')if(a[i+1]==' ') /*当连续出现两个空格,需要去除一个空格*/{k=k-1; /*字符串总长度减一。
*/ for(j=i;j<k;j++)a[j]=a[j+1]; /*从第一个空格开始,后续所有字符前提一位,即去除第一个空格。
*/a[k]='\0'; /*去除空格后字符组长度减一,原字符组最后一位需要变为\0。
*/continue; /*去除空格后,继续从该位检测,直至不符合该循环条件。
*/}elsei++; /*若不是连续两个空格,则跳到下个字符再进行循环。
*/printf("%s\n",a); /*输出处理后的字符组。
*/ }2.导入及导出函数void daoru(){FILE *p; /*定义一个指针函数,用于指向需要打开的文件。
c语言课程设计课程要求

c语言课程设计课程要求一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,培养学生编程思维和解决问题的能力,提高学生实际操作技能,使学生了解编程在实际应用中的重要性,培养学生对计算机科学的兴趣和热情。
具体来说,知识目标包括:1.理解C语言的基本语法和规则。
2.掌握基本数据类型、运算符和表达式。
3.熟悉控制结构,如条件语句、循环语句等。
4.了解函数的定义和调用。
5.理解编程中常用的算法和数据结构。
技能目标包括:1.能够使用C语言编写简单的程序。
2.能够阅读和理解简单的C语言程序。
3.能够运用C语言解决实际问题。
情感态度价值观目标包括:1.对编程和计算机科学产生兴趣和热情。
2.培养学生的创新思维和解决问题的能力。
3.培养学生的团队合作和沟通能力。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。
具体安排如下:1.C语言概述:介绍C语言的历史、特点和应用领域。
2.基本数据类型和运算符:整型、浮点型、字符型数据以及相应的运算符。
3.控制结构:条件语句、循环语句等。
4.函数:函数的定义、声明和调用,熟悉常用的数学函数和输入输出函数。
5.数组和字符串:一维、多维数组的声明和使用,字符串的基本操作。
6.指针:指针的概念和运算,指针在内存中的表示和应用。
7.结构体和联合体:结构体的定义和使用,联合体的概念和应用。
8.文件操作:文件的打开、关闭、读写等操作。
三、教学方法本课程采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等,以激发学生的学习兴趣和主动性。
1.讲授法:通过教师的讲解,使学生掌握C语言的基本概念和语法。
2.讨论法:引导学生进行小组讨论,培养学生的团队合作和沟通能力。
3.案例分析法:通过分析实际案例,使学生了解C语言在实际应用中的重要性。
4.实验法:让学生动手编写程序,培养学生的实际操作技能和编程思维。
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语言课程设计报告:职工信息管理系统程序设计

1.课程论文题目职工信息管理系统程序设计一、题目要求职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
试设计一职工信息管理系统,使之能提供以下功能:(1)系统以菜单的方式工作。
(2)职工信息录入功能(职工信息用文件保存)。
(3)职工浏览功能。
(4)职工信息查询功能,查询方式可按学历查询或者工号查询。
(5)职工信息的删除、修改功能(可选项)。
2.程序设计思路1、设计思路(1)根据题目要求,应该把职工工资信息用结构体形式输入,在定义一个全局变量和文件指针进行整个程序的运行,然后把职工工资信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;(2)在程序中需实现职工工资浏览、查询、统计等功能的操作,所以需要建立相应的功能模块来实现;(3)另外还需要提供键盘式选择菜单实现功能,在运行时达到所要的目的。
3.功能模块图5.算法设计1.主函数提供输入、处理和输出部分的函数调用,各功能模块采用菜单方式选择。
2浏览模块【分析】该模块的功能是浏览职工的全部信息3排序模块4查询模块【分析】该模块的功能是根据输入的职工按照工号和学历查找对应的记录,找到以后,可进行继续查找或修改信息的操作。
流程图如下:5修改模块【分析】该模块的功能是显示所有职工的信息,考虑到记录较多,建议采用分屏显示。
显示完所有记录后,输入要修改的职工的工号,根据工号查到职工的记录,并提示用户修改该记录的哪部分信息,根据用户做的选择修改相应信息。
流程图如下:6.程序代码#include<stdio.h>#define N 50struct worker{char id[50];char name[20];char sex[10];char age[10];char edu[20];char salary[10];char address[20];char tel[20];}worker[N];void save(int n) //保存函数,保存n个记录{ FILE *fp;int i;if((fp=fopen("worker.txt","wb"))==NULL) //以只写方式为输出打开一个二进制文件{ printf("\nCannot open file\n");}for(i=0;i<n;i++)if(fwrite(&worker[i],sizeof(struct worker),1,fp)!=1)printf("file write error\n");fclose(fp);}int load() //加载函数{ FILE *fp;int i;if((fp=fopen("worker.txt","rb"))==NULL){printf("\nCannot open file\n");return NULL;}for(i=0;!feof(fp);i++)fread(&worker[i],sizeof(struct worker),1,fp);fclose(fp);return(i-1);}void no_input(int i,int n) //工号输入函数,i表示第i个职工的信息,n 表示比较到第n个职工{ int j,k,w1;do{w1=0;printf("工号:");scanf("%s",worker[i].id);for(j=0;worker[i].id[j]!='\0';j++)if(worker[i].id[j]<'0'||worker[i].id[j]>'9') //判断工号是否为数字{puts("请重新输入!\n");w1=1;break;}if(w1!=1)for(k=0;k<n;k++) //比较到第N个职工if(k!=i&&strcmp(worker[k].id,worker[i].id)==0) //判断职工号是否有雷同{puts("请重新输入!\n");w1=1;break;}}while(w1==1);}void input(int i) //输入一个记录的函数{ no_input(i,i);printf("姓名:");scanf("%s",worker[i].name);printf("性别:");scanf(" %s",&worker[i].sex);printf("年龄:");scanf("%s",&worker[i].age);printf("工资:");scanf("%s",worker[i].salary);printf("学历:");scanf("%s",&worker[i].edu);printf("住址:");scanf("%s",worker[i].address);printf("电话:");scanf("%s",worker[i].tel);}void printf_one(int i) //显示一个记录的函数{printf("%10s %10s %5s %5s %8s %6s %10s %10s\n",worker[i].id,worker[i].name,worker[i].sex,worker[i].age,worker[i].salary,worker[i].edu,worker[i].address,worker[i].tel); }void printf_back() //一个任务结束后选择是好似浏览还是返回{ int k,w;printf("\n\n\tSuccessful^-^.\n\n");printf("接下来做什么?\n\n\t1).浏览全部\t2).返回: [ ]\b\b");scanf("%d",&w);if(w==1)browse();else menu();}modify_data(int i,int n) //修改函数{ int c,w1;do{puts("\nmodify by=>\n\n 1).工号 2).姓名 3).性别 4).年龄 5).工资6).学历 7).地址 8).电话 9).取消");printf("请选择?:[ ]\b\b");scanf("%d",&c);if(c>9||c<1){puts("\nChoice error!please again!");getchar();}}while(c>9||c<1);do{switch(c){case 1:no_input(i,n);break;case 2:printf("name:");scanf("%s",worker[i].name);break;case 3:printf("sex:");scanf("%s",worker[i].sex);break;case 4:printf("age:");scanf("%s",worker[i].age);break;case 5:printf("salary:");scanf("%s",worker[i].salary);break;case 6:printf("edu:");scanf("%s",worker[i].edu);break;case 7:printf("address:");scanf("%s",worker[i].address);break;case 8:printf("tel:");scanf("%s",worker[i].tel);break;case 9:menu();break;}puts("\nNow:\n");printf_face();printf_one(i);printf("\n确定?\n\n\t1).是2).否,重新修改3).不保存退出[ ]\b\b");scanf("%d",&w1);if(w1==1)save(n);}while(w1==2);return(w1);}printf_face() //显示数据结构项目{ printf("\n\t工号姓名性别年龄工资学历地址电话号码\n"); }void enter() //输入模块{ int i,n;printf("输入多少个职工信息(0-%d):",N-1);scanf("%d",&n);printf("\n 请输入职工信息\n\n");for(i=0;i<n;i++)input(i);if(i!=0)save(n);printf_back();}browse() //浏览模块{ int i,j,n;n=load();printf_face();for(i=0;i<n;i++){if((i!=0)&&(i%10==0)){printf("\n\n按任意键显示下一页...");getch();puts("\n\n");}printf_one(i);}printf("\t这里有 %d 条记录.\n",n);printf("\n按任意键返回...");getch();menu();}modify() //修改模块{struct worker s;FILE *fp;int i,n,k,w0=1,w1,w2=0;n=load();do{k=-1;printf_face();for(i=0;i<n;i++){if((i!=0)&&(i%10==0)) //目的是分屏显示{printf("\n\n记住要修改的工号.按任意键显示下一页");getch();puts("\n\n");}printf_one(i); //调用显示一个记录的函数}do{printf("\n\n输入要修改的职工工号! 工号:");scanf("%s",s.id); //输入要修改的IDfor(i=0;i<n;i++) //查找要修改的数据if(strcmp(s.id,worker[i].id)==0){k=i; //找到要修改的记录s=worker[i]; //把worker[i]备份,以便恢复}if(k==-1)printf("\n\n未找到请重输");}while(k==-1); //当k=-1表示没有找到printf_face(); //调用显示数据结构项目的函数printf_one(k); //调用显示一个记录的函数w1=modify_data(k,n); //修改记录并返回保存控制值w1,w1=1表示用户已确认修改if(w1==1){printf("\Successful^_^.\n\n修改另一个?\n\n\t1).是 2).否,保存退出\t[ ]\b\b");scanf("%d",&w0);w2=1; //用来控制保存,使w2=1是标记已有过修改}else{w0=0;if(w2==1)worker[k]=s;}if(w0!=1&&w2==1)save(n);}while(w0==1);menu();}search() //查询模块{ int c,w1;do{puts("\nsearch by=>\n\n1).工号 2}.学历 3).取消并返回"); printf("Which you needed?:[ ]\b\b");scanf("%d",&c);if(c>3||c<1){ puts("\nchoice error!please again!");getchar();}}while(c>3||c<1);{switch(c){case 1:search1();break;case 2:search2();break;case 3:menu();break;}}}search1() //按工号查询模块{int i,n,k,w1=1,w2,w3,w4;struct worker s;n=load();do{do{k=-1;printf("\n\n输入要查询的工号! id:");scanf("%s",s.id);printf_face();for(i=0;i<n;i++)if(strcmp(s.id,worker[i].id)==0){k=i;printf_one(k);break;}if(k==-1){printf("\n\nNo exit!please");printf("\n\n继续查找?\n\t1).是 2).否,返回 [ ]\b\b");scanf("%d",&w1);if(w1==2) menu();}}while(k==-1&&w1==1);w4=0;w3=0;if(k!=-1){printf("\n\n接下来干什么?\n\t1).查找另一个 2).修改 3).返回菜单[ ]\b\b");scanf("%d",&w2);switch(w2){case 1:search1();break;case 2:w3=modify_data(k,n);break;case 3:{menu();break;}}}}while(w2==1);menu();}search2() //按学历查询模块{int i,n,k,w1=1,w2,w3,w4;struct worker s;n=load();do{do{k=-1;printf("\n\n请输入你要查询的学历:\n");scanf("%s",);printf_face();for(i=0;i<n;i++)if(strcmp(,worker[i].edu)==0){k=i;printf_one(k);}if(k==-1){printf("\n\nNo exit!please");printf("\n\n继续查找?\n\t1).是 2).否,返回 [ ]\b\b");scanf("%d",&w1);if(w1==2) menu();}}while(k==-1&&w1==1);w4=0;w3=0;if(k!=-1){printf("\n\n接下来干什么?\n\t1).查找另一个 2).修改 3).返回菜单[ ]\b\b");scanf("%d",&w2);switch(w2){case 1:search2();break;case 2:w3=modify_data(k,n);break;case 3:{menu();break;}}}}while(w2==1);menu();}menu(){int n,w1;do{puts("\t\t*******************菜单*******************\n\n");puts("\t\t\t\t1.录入职工信息");puts("\t\t\t\t2.浏览职工信息");puts("\t\t\t\t3.查询职工信息");puts("\t\t\t\t4.修改职工信息");puts("\t\t\t\t5.退出");puts("\t\t****************************************\n\n");printf("请选择(1~5): [ ]\b\b");scanf("%d",&n);if(n<1||n>5) //对选择的数字作判断{w1=1;getchar();}else w1=0;} while(w1==1);switch(n){case 1:enter();break; //录入 case 2:browse();break; //浏览 case 3:search();break; //查询 case 4:modify();break; //修改 case 5:exit(0); //退出}}main(){menu();}7.程序运行结果下面是各个模块的的界面截图(1)、主菜单(2)、输入模块(3)、浏览模块(3)、查找模块(4)、修改模块8.编程中遇到的困难及解决方法温故而知新,可以为师矣。
c语言课程设计作品要求

c语言课程设计作品要求一、教学目标本课程旨在通过C语言的学习,使学生掌握C语言的基本语法、数据结构、算法和编程思想,培养学生具备基本的编程能力和计算机思维能力。
具体的教学目标如下:1.知识目标:–掌握C语言的基本语法和关键词。
–理解变量、常量的概念及其使用方法。
–学会使用条件语句、循环语句进行程序控制。
–熟悉常用的数据结构如数组、链表、栈和队列。
–掌握基本的排序和查找算法。
2.技能目标:–能够使用C语言编写简单的程序,解决实际问题。
–具备基本的代码调试和排错能力。
–能够运用C语言进行数据分析和处理。
3.情感态度价值观目标:–培养学生的创新意识和解决问题的能力。
–培养学生团队合作精神和自主学习能力。
–培养学生对计算机科学的兴趣和热情。
二、教学内容教学内容将按照以下大纲进行:1.C语言基础:介绍C语言的基本语法、数据类型、运算符、输入输出等。
2.控制结构:讲解条件语句、循环语句以及跳转语句的使用。
3.函数:包括函数的定义、声明、调用以及递归等。
4.数组和字符串:讲解数组的使用、字符串的存储和处理。
5.指针:介绍指针的基本概念、指针与数组、指针与函数等。
6.结构体和文件:讲解结构体的定义和使用,以及文件的读写操作。
7.算法与数据结构:学习基本的排序和查找算法,了解数据结构的基本概念。
三、教学方法本课程将采用讲授法、案例分析法、实验法等多种教学方法相结合的方式进行教学。
1.讲授法:用于讲解C语言的基本语法、数据结构和算法。
2.案例分析法:通过分析典型代码案例,使学生更好地理解和掌握C语言编程技巧。
3.实验法:安排实验课,让学生动手编写代码,培养实际编程能力。
四、教学资源1.教材:《C程序设计语言》(K&R)或《C语言 Primer》(第5版)。
2.参考书:《C专家编程》、《C陷阱与缺陷》等。
3.多媒体资料:教学PPT、视频教程等。
4.实验设备:计算机、网络环境、编程环境(如Code::Blocks、VisualStudio等)。
《C语言程序设计课设》课程设计指导书

《C语言程序设计课设》课程设计指导书一、课程设计的目的(1)加深对讲授内容的理解,尤其是一些语法规则。
(2)熟悉C语言程序设计的结构化编程的思想,掌握数据的基本类型、自定义类型、函数、文件和指针等知识,能运用这些知识进行综合编程,熟练应用。
(3)能够综合运用所学知识,编程解决实际问题。
(4)培养团队分工合作的意识,最终使学生提高编程技能和解决实际问题的能力。
二、课程设计基本要求2.1.组织管理1.由院、系指派经验丰富的专业教师担任指导教师。
2.课程设计实行课程负责人与指导教师共同负责制。
3.课程负责人主要进行课设的命题、指导教师的考核、技术把关和全面管理。
4.指导教师全面负责所承担班级的课程设计指导、管理和考核评定工作。
2.2设计要求1.自选题目、小组管理、团队合作、小组评测。
2.模块化程序设计。
3.锯齿型书写格式。
4.必须上机调试通过。
三、选题要求:每个题目限定1-2人,每人必须负责一部分功能,并独立完成,推举出一个组长,负责任务分工,汇总到班长处,然后交给指导教师。
四、设计报告格式及要求:1、题目2、设计目的3、总体设计(程序设计组成框图、流程图)4、详细设计(模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)5、运行结果及分析6、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施7、课程设计心得及体会8、源程序清单和执行结果:清单中应有足够的注释五、课程设计成绩评定5.1基本要求:(1)每个人必须有程序运行结果;(2)每个人必须交《C语言课程设计》报告5.2、成绩评定和打分标准由指导教师对学生在课程设计期间的表现,所完成的设计报告的质量、设计结果的验收和答辩情况进行综合考核。
具体评定标准如下:(1)上机考勤:注重平时上机考勤与遵守纪律情况20%(2)结果验收:学生能运行、讲述或调试自己的程序,回答教师提问,每个人必须有程序运行结果40%(3)小组自评成绩结果10%(4)设计报告:每个人必须交《C语言课程设计》报告和《C语言课程设计》日志30%以上四项缺一不可,否则不能到得相应学分依据上述考核内容,最后采用优(>90分)、良(80~89分)、中(70~79分)及格(60~69分)、不及格(<60分)五级记分制评定学生课程设计成绩。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
报告内容应包括以下内容(单面打印不少于10页,统一封面见下页):1.程序系统设计思路2.程序系统结构的框架图3.功能模块和类的设计以及数据库设计(模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等),类的属性与方法说明与类间关系)4.主要算法流程图5.关键源代码编程步骤6.采用的测试过程与测试(数据调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施)7.运行结果分析和总结8.参考资料课程设计评分由以下几部分组成:平时考勤;培训老师对提交的项目评分;实验报告分东华理工大学长江学院C#课程设计报告题目:万能播放器学号:2班级:姓名:方新盛摘要本文主要是开发了一款简单的万能播放器。
可以播放三种格式的jpg图片、wmv视频文件、htm网址。
包括该播放器实现了的基本功能包括:1.音频视频文件的打开、添加到菜单、媒体的播放、音量大小的调节、播放时间的拖动、暂停播放、停止。
2图片的播放速度、透明度、手动或者自动的调节3htm网址的播放,使之成为一款简易的媒体播放设备,能够完美的播放市面上大多数的音频、视频文件。
在程序设计中,系统开发平台为Windows 7操作系统,程序设计环境采用visual stdio。
在程序设计中,程序通过调试运行,初步实现了设计目标,本程序是基于C#集成开发环境以及access数据库、利用各种控件实现媒体播放的功能的,除了基本的播放控制外,还具有多文件自动顺序循环播放、全屏播放、静音等实用功能。
关键字:播放器登入界面数据库目录1.程序系统设计思路2.程序系统结构的框架图3.功能模块和类的设计以及数据库设计(模块功能说明(如函数功能、入口及出4.口参数说明,函数调用关系描述等),类的属性与方法说明与类间关系)--5.主要算法流程图6. 采用的测试过程与测试(数据调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施)7. 运行结果分析和总结8.参考资料1.程序系统设计思路参照Visual C#.NET所学知识以及老师所做的示范,首先做出万能播放器播放图片视频网址的界面,实现音频视频文件的打开、添加到菜单、媒体的播放、音量大小的调节、播放时间的拖动、暂停播放、停止的控件,再做出登入界面,建立数据库,利用数据库access设置出登入名字密码,最终实现代码的调试运行。
2.程序系统结构的框架图3.功能模块和类的设计以及数据库设计(模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等),类的属性与方法说明与类间关系)功能界面:类的属性说明:4.主要算法流程图5.关键源代码编程步骤namespace WPlay_1班16_方新盛{partial class FormLogin{///<summary>/// Required designer variable.///</summary>private ponentModel.IContainer components = null;///<summary>/// Clean up any resources being used.///</summary>///<param name="disposing">true if managed resources should be disposed; otherwise, false.</param>protected override void Dispose(bool disposing){if (disposing && (components != null)){components.Dispose();}base.Dispose(disposing);}#region Windows Form Designer generated code///<summary>/// Required method for Designer support - do not modify/// the contents of this method with the code editor.///</summary>private void InitializeComponent(){ponents = new ponentModel.Container();bel1 = new bel();bel2 = new bel();bel3 = new bel();this.textBoxuname = new System.Windows.Forms.TextBox();this.textBoxpwd = new System.Windows.Forms.TextBox();this.buttonLogin = new System.Windows.Forms.Button();this.buttonReset = new System.Windows.Forms.Button();this.buttonExit = new System.Windows.Forms.Button();boBoxrole = new boBox();this.timer1 = new System.Windows.Forms.Timer(ponents);this.timer2 = new System.Windows.Forms.Timer(ponents);this.SuspendLayout();//// label1//bel1.AutoSize = true;bel1.Location = new System.Drawing.Point(63, 43); = "label1";bel1.Size = new System.Drawing.Size(89, 20);bel1.TabIndex = 0;bel1.Text = "用户名:";//// label2//bel2.AutoSize = true;bel2.Location = new System.Drawing.Point(63, 86); = "label2";bel2.Size = new System.Drawing.Size(89, 20);bel2.TabIndex = 1;bel2.Text = "密码:";//// label3//bel3.AutoSize = true;bel3.Location = new System.Drawing.Point(63, 133); = "label3";bel3.Size = new System.Drawing.Size(89, 20);bel3.TabIndex = 2;bel3.Text = "角色:";//// textBoxuname//this.textBoxuname.Location = new System.Drawing.Point(138, 40); = "textBoxuname";this.textBoxuname.Size = new System.Drawing.Size(221, 30);this.textBoxuname.TabIndex = 3;//// textBoxpwd//this.textBoxpwd.Location = new System.Drawing.Point(138, 83); = "textBoxpwd";this.textBoxpwd.Size = new System.Drawing.Size(221, 30);this.textBoxpwd.TabIndex = 4;//// buttonLogin//this.buttonLogin.BackColor = System.Drawing.Color.White;this.buttonLogin.FlatAppearance.BorderColor = System.Drawing.Color.Red;this.buttonLogin.ForeColor =System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));this.buttonLogin.Location = new System.Drawing.Point(34, 238); = "buttonLogin";this.buttonLogin.Size = new System.Drawing.Size(88, 38);this.buttonLogin.TabIndex = 6;this.buttonLogin.Text = "登陆";eVisualStyleBackColor = false;this.buttonLogin.Click += new System.EventHandler(this.buttonLogin_Click);//// buttonReset//this.buttonReset.BackColor = System.Drawing.Color.White;this.buttonReset.FlatAppearance.BorderColor =System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))),((int)(((byte)(192)))));this.buttonReset.FlatAppearance.MouseDownBackColor =System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))),((int)(((byte)(255)))));this.buttonReset.FlatAppearance.MouseOverBackColor =System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))),((int)(((byte)(255)))));this.buttonReset.Font = new System.Drawing.Font("微软雅黑", 15F,System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));this.buttonReset.ForeColor =System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))),((int)(((byte)(255)))));this.buttonReset.Location = new System.Drawing.Point(194, 238); = "buttonReset";this.buttonReset.Size = new System.Drawing.Size(96, 38);this.buttonReset.TabIndex = 7;this.buttonReset.Text = "重置";eVisualStyleBackColor = false;this.buttonReset.Click += new System.EventHandler(this.buttonReset_Click);//// buttonExit//this.buttonExit.BackColor = System.Drawing.Color.White;this.buttonExit.ForeColor =System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))),((int)(((byte)(255)))));this.buttonExit.Location = new System.Drawing.Point(368, 238); = "buttonExit";this.buttonExit.Size = new System.Drawing.Size(91, 38);this.buttonExit.TabIndex = 8;this.buttonExit.Text = "退出";eVisualStyleBackColor = false;this.buttonExit.Click += new System.EventHandler(this.buttonExit_Click);//// comboBoxrole//boBoxrole.AutoCompleteCustomSource.AddRange(new string[] {"普通用户","管理员","超级管理员"});boBoxrole.FormattingEnabled = true;boBoxrole.Location = new System.Drawing.Point(138, 130); = "comboBoxrole";boBoxrole.Size = new System.Drawing.Size(221, 28);boBoxrole.TabIndex = 9;boBoxrole.Text = "普通用户";//// timer1//this.timer1.Enabled = true;this.timer1.Interval = 1000;this.timer1.Tick += new System.EventHandler(this.timer1_Tick);//// timer2//this.timer2.Enabled = true;this.timer2.Tick += new System.EventHandler(this.timer2_Tick);//// FormLogin//this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 20F);this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;this.BackColor = System.Drawing.Color.LightGray;this.ClientSize = new System.Drawing.Size(491, 453);this.Controls.Add(boBoxrole);this.Controls.Add(this.buttonExit);this.Controls.Add(this.buttonReset);this.Controls.Add(this.buttonLogin);this.Controls.Add(this.textBoxpwd);this.Controls.Add(this.textBoxuname);this.Controls.Add(bel3);this.Controls.Add(bel2);this.Controls.Add(bel1);this.Font = new System.Drawing.Font("宋体", 15F,System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));this.ForeColor = System.Drawing.Color.Black;this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;this.Margin = new System.Windows.Forms.Padding(5); = "FormLogin";this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;this.Text = "登陆";this.Load += new System.EventHandler(this.FormLogin_Load);this.ResumeLayout(false);this.PerformLayout();}#endregionprivate bel label1;private bel label2;private bel label3;private System.Windows.Forms.TextBox textBoxuname;private System.Windows.Forms.TextBox textBoxpwd;private System.Windows.Forms.Button buttonLogin;private System.Windows.Forms.Button buttonReset;private System.Windows.Forms.Button buttonExit;private boBox comboBoxrole;private System.Windows.Forms.Timer timer1;private System.Windows.Forms.Timer timer2;}}using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;//引入数据库命名空间using System.Data.OleDb;namespace WPlay_1班16_方新盛{class DbopAccess{static public bool Login(string name,string pwd){//步骤//1.创建连接,连接数据库OleDbConnection con = new OleDbConnection();con.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=F:\达内C#\课程设计C#\WPlay_1班16_方新盛\WPlay_1班16_方新盛\bin\Debug\userdb.accdb;Persist Security Info=True";//创建命令,执行语句OleDbCommand cmd = new OleDbCommand();cmd.Connection = con;mandText = "select * from tusers where uname='"+name +"' andpwd='"+pwd+"'";con.Open();//出错!object getResult = cmd.ExecuteScalar();//3.返回结果if (getResult!=null){return true;}else{return false;}}}}7.运行结果分析和总结登入界面运行界面总结:经过的4天的课程设计,让我受益匪浅,给我收获最大的是我觉得很多工作需要我去摸索和探讨,要不怕吃苦,勇于激流勇进,有的工作虽然单挑又重复,但这是磨练意志最有效的方法,我告诫自己要认真完成,对每项实训任务都要他看成是对自己的一次考核,做到每一件事的过程中遇到困难,一定要争取不抛弃,不放弃,坚持“战斗”,只要希望还在,胜利一定属于我们。