C语言大作业 电子1201班 姓名: 蔡浩学号1230340110

合集下载

C语言程序设计--大作业

C语言程序设计--大作业

C语言程序设计大作业编写程序,实现单链表的插入、删除、输出、查找、统计以及销毁功能。

单链表的每个结点存储一名学生的信息,包括:学号、姓名、性别、年龄、三门课程(高数、英语、C语言)的成绩、三门功课的平均分。

结构体类型声明如下:typedef struct student{char sno[8];char name[20];char sex;int age;double score[3];double avg;struct student *next;} STUDENT, *PSTUDENT;要求:⑴一律使用STUDENT 声明学生结构体的变量,一律使用PSTUDENT 声明指向学生结构体的指针变量⑵程序运行过程中要有菜单提示,菜单如下:**************************************************************** 1.Insert a student ** 2.Delete a student ** 3.Display the link list ** 4.Display excellent students ** 5.Search a student by the name ** 6.Display the average score of three courses ** 0.Exit the program ****************************************************************“Insert a student”:插入一个学生记录,要求按平均分从高到低插入“Delete a student”:删除指定学号的学生“Display the link list”:输出单链表中所有学生的信息“Display excellent students”:输出链表中三门功课平均成绩高于85分(含85分)的学生信息“Search a student by the name”:根据输入的姓名,输出链表中相应学生的信息“Display the average score of three courses”:输出链表中所有学生的高数平均分、英语平均分以及C语言平均分“Exit the program”:销毁单链表,结束程序运行。

C语言程序设计大作业

C语言程序设计大作业

C语言程序设计大作业
1. 题目:学生信息管理系统
2. 程序要求:
(1)学生信息录入功能
●用户键盘输入每个学生的信息:学号、姓名、性别、数学、英语、政治、语文四门
课成绩。

●可插入一个或多个学生信息到当前编辑的班级数据中。

(2)文件保存功能
●学生信息每一班存为一个数据文件,数据文件可在程序中打开、编辑和重新保存;
●用户输入学生信息可随时保存数据文件。

(3)文件打开功能
●序只能对当前打开的数据文件进行编辑。

(4)查询功能
●浏览所有学生信息
●按学号查询学生信息
●按姓名查询学生信息
●查询一个班总成绩和平均成绩
●查询一个班某一门课总成绩和平均成绩
●查询某一门课分数段(<60,60-69,70-79,80-89,>90)学生数。

(5)报表输出功能
●按学号输出一个班学生信息:学号、姓名、性别、数学、英语、政治、语文成绩、
总成绩,到屏幕和文件。

●按总成绩输出从高到低输出学号、姓名信息。

注:以上功能以菜单形式供用户使用,有一定的容错功能。

3. 开发语言环境:Microsoft VC++6.0 或Turbo C2.0
4.数据结构:数组或链表
5. 程序源代码要求:
(1)函数名、变量名采用英文缩写;
(2)源代码的书写采用递进格式;
(3)程序行和程序段须有注释。

C语言程序设计大作业

C语言程序设计大作业

学年学期:20xx - 20xx 学年 1 学期课程名称:C语言程序设计综合训练课程学分:2分考核形式:大作业任课教师:xx题目:学生成绩统计程序学院:xx学院__________________________________ 专业班级:xx_______________________________________ 学号:_______ 学生姓名:提交日期:目录目录 (2)引言 (3)1. 学生成绩管理系统 (4)1.1系统简介 (4)1.2相关代码及知识点介绍 (4)2. 添加学生成绩功能 (5)3. 查找学生成绩功能 (6)4. 排序学生成绩功能 (7)5. 展示学生成绩功能 (9)6. 删除学生成绩功能 (10)7. 附页代码 (11)引言C语言是一种比较常见的计算机语言,许多大型应用软件都是用C语言编写而成的。

其简洁紧凑,灵活方便,数据结构丰富。

在一定程度上,C语言比汇编语言更实用,具有结构化语句,实现了结构化编程,使程序编写变得更容易、更快捷,可以编写出各种类型的程序。

同时,C语言是一门实践性强的学科,在学习的过程中,利用所学知识,编写一些与生活、学习相关的应用程序来提高程序编写能力,增强学习兴趣。

本次使用C语言设计一个学生成绩管理系统,可以实现学生成绩的添加,查找,排序及展示。

在作业中使用的是函数的模块化设计,将四个程序使用四个函数来实现。

与此同时,增加用户界面的交互,可供用户选择想要的功能,实现增删查排等操作。

1. 学生成绩管理系统1.1系统简介该系统主要实现学生成绩的添加,查找,排序,展示和删除五个功能,添加学生成绩主要有6个输入值组成,其中包括学号,姓名,语文,数学,英语,政治等。

查找学生成绩主要通过学号查询。

对学生成绩进行排序,可以分别通过学号,语文,数学,英语,政治,平均分,总分等进行排序。

第四项功能是对学生成绩以表格的形式进行展示。

删除学生成绩是按照学号对表格中的数据进行删除。

C语言大作业全

C语言大作业全

#include "stdafx.h"#include "stdio.h"#include "stdlib.h"#include "string.h"#include "malloc.h"#define LEN sizeof(struct student) #define NULL 0int n,m;int k=1;struct student{char num[20];char name[20];int age;char profession[50];int maths;int english;int C_program;float ave;struct student * next;};float ave(struct student * p1){float ave;ave=(float)(p1->maths+p1->english+p1->C_program)/3;return ave;}void save(struct student *head){struct student *p1 = head;FILE *outFile;outFile = fopen("stu.bin", "wb");if (outFile == NULL) {printf("\nFile error.");}else {while(p1 != NULL){fwrite(p1, sizeof(struct student), 1, outFile);p1 = p1->next;}fclose(outFile);}}//将数据存入文档中void check(struct student * head,struct student * p1) {struct student *h=head;for(m=0;m<n;m++,h=h->next ){if(strcmp( h->num,p1->num)==0){printf("输入号码重复\n");printf("请重新输入学号:");scanf("%s",p1->num);getchar();check(head,p1);}}}//检验学号是否重复struct student * creat(){struct student * head;struct student *p1,*p2;n=0;p1=p2=(struct student *)malloc(LEN); printf("学号:\n");scanf("%s",p1->num);getchar();printf("姓名:\n");gets(p1->name);printf("年龄:\n");scanf("%d",&p1->age);getchar();printf("专业:\n");gets(p1->profession);printf("数学成绩:\n");scanf("%d",&p1->maths);printf("英语成绩:\n");scanf("%d",&p1->english);printf("C语言成绩:\n");scanf("%d",&p1->C_program);head=NULL;while(strcmp(p1->num,"0")!=0){n=n+1;if(n==1)head=p1;else p2->next=p1;p2=p1;p1=(struct student *)malloc(LEN);printf("学号:\n");scanf("%s",p1->num);getchar();check(head,p1);//检查输入的学号是不是重复且是不是重复输错 printf("姓名:\n");gets(p1->name);printf("年龄:\n");scanf("%d",&p1->age);getchar();printf("专业:\n");gets(p1->profession);printf("数学成绩:\n");scanf("%d",&p1->maths);printf("英语成绩:\n");scanf("%d",&p1->english);printf("C语言成绩:\n");scanf("%d",&p1->C_program);}p2->next=NULL;save(head);return(head);}//录入数据并将其保存至文档void print(struct student *head){struct student * p;printf("\n这%d个学生的成绩为:\n",n);printf("学号姓名年龄专业数学英语 C语言平均成绩\n");p=head;if(head==NULL)printf("The info error\n");if(head!=NULL)while(p!=NULL){p->ave=ave(p);printf("%s%8s%8d%13s%9d%10d%9d%10.2f",p->num,p->name,p->age,p->profession,p->maths,p->engl ish,p->C_program,p->ave);printf("\n");p=p->next;}}//输出链表//struct student* read(){struct student *head = NULL;struct student *p2 = head;struct student record;FILE *infile;infile = fopen("stu.bin", "rb");n=1;if(infile == NULL){printf("\nFile error.");}else {head = (struct student *)malloc(sizeof(struct student));fread(head, sizeof(*head), 1, infile);p2 = head;while(fread(&record, sizeof(record), 1, infile))//fread返回数据个数,结束和出错返回0;{p2->next = (struct student *)malloc(sizeof(struct student));memcpy(p2->next, &record, sizeof(record)); //复制结构体数据p2 = p2->next;n=n+1;}p2->next=NULL;fclose(infile);}return head;}//从文件中读取数据struct student * search_num(struct student * head,char array[20]){struct student * p1;p1=head;if(head==NULL){printf("打开错误");return(head);}while((strcmp(array,p1->num)!=0)&&(p1->next!=NULL)){p1=p1->next;}//找到相应的学号if(strcmp(array,p1->num)==0){printf("学号姓名年龄专业数学英语 C语言\n");printf("%s%10s%10d%15s%11d%12d%11d",p1->num,p1->name,p1->age,p1->profession,p1->maths,p1-> english,p1->C_program);printf("\n");}else printf("此学号不存在\n");return(head);}//按学号查询数据//]struct student * search_name(struct student * head,char array[20]){struct student * p1;p1=head;if(head==NULL){printf("打开错误");return(head);}while((strcmp(array,p1->name)!=0)&&(p1->next!=NULL)){p1=p1->next;}//找到相应的学号if(strcmp(array,p1->name)==0){printf("学号姓名年龄专业数学英语 C语言\n");printf("%s%10s%10d%15s%11d%12d%11d",p1->num,p1->name,p1->age,p1->profession,p1->maths,p1-> english,p1->C_program);printf("\n");}else printf("此姓名不存在\n");return(head);}//按姓名查询数据//struct student * change(struct student * head,char array[20]){struct student *p1;p1=head;if(head==NULL){printf("打开错误!");return(head);}while((strcmp(array,p1->num)!=0)&&(p1->next!=NULL)) {p1=p1->next;} //找到相应的学号if(strcmp(array,p1->num)==0){printf("请输入更改的学号:\n");printf("学号:\n");scanf("%s",p1->num);getchar();printf("姓名:\n");gets(p1->name);printf("年龄:\n");scanf("%d",&p1->age);getchar();printf("专业:\n");gets(p1->profession);printf("数学成绩:\n");scanf("%d",&p1->maths);printf("英语成绩:\n");scanf("%d",&p1->english);printf("C语言成绩:\n");scanf("%d",&p1->C_program);save(head);}else printf("所查学号不存在\n");return(head);}//修改数据//struct student * del(struct student * head,char array[20]) {struct student * p1,* p2;if(head==NULL){printf("\nlist null!\n");return head;}p1=head;while((strcmp(array,p1->num)!=0)&&(p1->next!=NULL)){p2=p1;p1=p1->next;}//找到相应的学号、if((strcmp(array,p1->num)==0)){if(strcmp(array,head->num)==0)head=p1->next;elsep2->next=p1->next;}elseprintf("你查询的学号(%s)不存在!",p1->num);save(head);return(head);}void add(struct student * head){struct student *p1;printf("\n请输入添加学生的信息:\n");p1=(struct student *)malloc(LEN);printf("学号:\n");scanf("%s",p1->num);getchar();check(head,p1);printf("姓名:\n");gets(p1->name);printf("年龄:\n");scanf("%d",&p1->age);getchar();printf("专业:\n");gets(p1->profession);printf("数学成绩:\n");scanf("%d",&p1->maths);printf("英语成绩:\n");scanf("%d",&p1->english);printf("C语言成绩:\n");scanf("%d",&p1->C_program);FILE *outFile;outFile = fopen("stu.bin", "ab");if (outFile == NULL) {printf("\n打开错误.");}fwrite(p1, sizeof(struct student), 1, outFile);fclose(outFile);}void sta(struct student * head,char array[20],int max,int min) {struct student *p1=head;int k=0;if(strcmp(array,"maths")==0){while(p1!=NULL){if(p1->maths>=min&&p1->maths<=max)k++;p1=p1->next;}printf("数学科目在%d到%d之间的人数为:%d\n",min,max,k);}else if(strcmp(array,"english")==0){while(p1!=NULL){if(p1->english>=min&&p1->english<=max)k++;p1=p1->next;}printf("英语科目在%d到%d之间的人数为:%d\n",min,max,k); }else if(strcmp(array,"C_program")==0){while(p1!=NULL)if(p1->C_program>=min&&p1->C_program<=max)k++;p1=p1->next;}printf("C语言科目在%d到%d之间的人数为:%d\n",min,max,k); }}void exit(){printf("\t\t");printf("**********************\n");printf("\t\t");printf("*******感谢使用*******\n");printf("\t\t");printf("**********************\n");k=0;}void Chooseproject(int i){ struct student * head=NULL;if(i==1){head = read();print(head);else if(i==2){int p=1 ;printf("请选择按学号查询(1)还是按姓名查询(0):");scanf("%d",&p);while(p!=1&&p!=0){printf("输入错误!");printf("请选择学号查询(1)还是姓名查询(0)");scanf("%d",&p);}if(p==1){head = read();char num[20];printf("请输入查询的学号:\n");scanf("%s",num);head=search_num(head,num);while(strcmp(num,"0")!=0){printf("是否继续查询(是就输学号,否就输0):\n");scanf("%s",num);if(strcmp(num,"0")==0)break;head=search_num(head,num);}}else if(p==0){head = read();char name[20];printf("请输入查询的学号:\n");scanf("%s",name);head=search_name(head,name);while(strcmp(name,"0")!=0){printf("是否继续查询(是就输学号,否就输0):\n"); scanf("%s",name);if(strcmp(name,"0")==0)break;head=search_name(head,name);}}}else if(i==3){ head = read();char num[20];printf("请输入要更改的学号:\n");scanf("%s",num);getchar();head=change(head,num);print(head);while(strcmp(num,"0")!=0){printf("是否继续更改(是就输学号,否就输0):\n"); scanf("%s",num);getchar();if(strcmp(num,"0")==0)break;head=change(head,num);print(head);}}else if(i==4){head=read();add(head);}else if(i==5){char num[20];head=read();printf("请输入要删除的学号:\n");scanf("%s",num);getchar();head=del(head,num);print(head);}else if(i==6){head = read();int i;printf("\t\t");printf("************1.学号排序;********************\n");printf("\t\t");printf("************2.平均成绩排序;****************\n");printf("\t\t");printf("************3.数学成绩排序;****************\n"); printf("\t\t");printf("************4.英语成绩排序;****************\n"); printf("\t\t");printf("************5.C语言成绩排序;***************\n");printf("请输入相应的排序代号:");scanf("%d",&i);sort_down(head,i);}else if(i==7){head=read();int min,max;char subject[20];printf("\t\t");printf("************数学(maths);***************\n");printf("\t\t");printf("************英语(english);*************\n");printf("\t\t");printf("***********C语言(C_program);***********\n");printf("请选择要统计的项目:\n");scanf("%s",subject);getchar();while((strcmp(subject,"maths")!=0&&strcmp(subject,"english")!=0&&strcmp(subject,"C_pro gram")!=0)){printf("输入错误!");printf("\t\t");printf("************数学(maths);***********\n");printf("\t\t");printf("************英语(english);***********\n");printf("\t\t");printf("***********C语言(C_program);***********\n");printf("请选择要统计的项目:\n");scanf("%s",subject);getchar();}printf("请输入分数段的区间:");printf("区间上限:");scanf("%d",&max);printf("区间下限:");scanf("%d",&min);while(min>=max){printf("输入的下限大于等于上限,错误!");printf("请重新输入分数段的区间:");printf("区间上限:");scanf("%d",max);printf("区间下限:");scanf("%d",min);}sta(head,subject,max,min);}else if(i==8){printf("\t\t");printf("************************************\n");printf("\t\t");printf("**************感谢使用**************\n");printf("\t\t");printf("************************************\n");k=0;}}//选择功能void menu(){int i;printf("\t\t");printf("***********1.信息浏览;***********\n");printf("\t\t");printf("***********2.信息查询;***********\n");printf("\t\t");printf("***********3.信息修改;***********\n");printf("\t\t");printf("***********4.信息添加;***********\n");printf("\t\t");printf("***********5.信息删除;***********\n");printf("\t\t");printf("***********6.信息排序;***********\n");printf("\t\t");printf("***********7.信息统计;***********\n");printf("\t\t");printf("***********8,退出系统;***********\n");printf("请选择项目:");scanf("%d",&i);while(i<1||i>8){printf("输入错误,请重新输入:\n");printf("\t\t");printf("***********1.信息浏览;***********\n");printf("\t\t");printf("***********2.信息查询;***********\n");printf("\t\t");printf("***********3.信息修改;***********\n");printf("\t\t");printf("***********4.信息添加;***********\n");printf("\t\t");printf("***********5.信息删除;***********\n");printf("\t\t");printf("***********6.信息统计;***********\n");printf("\t\t");printf("***********7,退出系统;***********\n");printf("请重新选择项目:");scanf("%d",&i);}Chooseproject(i);}int _tmain(int argc, _TCHAR* argv[]){ struct student *head = NULL;printf("\t\t");printf("************************************************************\n");printf("\t\t");printf("*********************学生管理系***************************\n");printf("\t\t");printf("************************************************************\n" );printf("是否已经录入信息?\n");char c;printf("请输入 'y' 或 'n':");c=getchar();getchar();while(c!='n'&&c!='y'){printf("输入错误,请重新输入( 'y' 或 'n'):\n");c=getchar();getchar();}if(c=='n'){printf("请输入学生成绩:\n");head=creat();}while(k!=0){menu();}system("pause");return 0;}。

C语言大作业

C语言大作业

《C程序设计》课程设计
【设计目的】全面深入理解高级语言程序设计思想,掌握程序设计知识和技巧,提高综合应用能力。

【设计题目】编制并调试学生成绩管理程序。

【基本要求】
1.功能要求
1)从磁盘读入学生成绩单文件(学生的原始成绩单可通过运行程序产生)。

2)按下列要求组织成绩单:
(1)按学号排序
(2)按姓名排序(用选择法)
(3)按成绩排序(用冒泡法)
(4)按成绩分段计数(每10分为一段)
(5)优秀成绩单(优秀线由宏定义给出)
(6)不及格成绩单
3)将各类学生成绩单输出到显示器上,同时以文件形式保存到磁盘上。

2.界面要求
1)允许用户输入成绩单的路径及文件名。

2)可选择成绩单排序规则:升序、降序。

3)可选择输出内容:原始成绩单、排序后的成绩单、分段后的成绩单、优秀成绩单、不
及格成绩单。

3.数据结构要求
一个学生的信息,至少包括:
1)学号:形如:54110115,其中“54”表示所在学院,“11”表示年级,“01”表示班级,
“15”表示班内序号
2)姓名
3)性别
4)考试科目(共3科)
5)各科目考试成绩
要求用结构体数组保存学生信息。

4.程序结构要求
体现模块化程序设计思想,用函数实现各模块功能。

【选作】
1)分别将优秀成绩单和不及格成绩单以链表形式组织。

2)读入若干班级成绩单,按班级完成以上【基本要求】所述功能。

《C大作业报告》word版

《C大作业报告》word版

如有异议或侵权请及时联系,客服将立即删除!C++大作业报告姓名:常皓学号:03101261班级:031013销售公司员工管理设计一个虚基类Staff(员工),包含编号、姓名和年龄保护数据成员以及相关的成员函数;由Staff派生出销售员类Salesman,包含销售额保护数据成员以及相关的成员函数;再由Staff派生出经理类Manager;然后由Salesman和Manager类派生出销售经理类SalesManager。

设计一个利用文件处理方式实现对公司人员(包括销售员、经理和销售经理)进行管理,具有增加数据、更新数据、查询数据、删除数据以及重组文件的功能。

(删除数据在记录中做删除标志,重组文件指在物理上删除有删除标志的记录。

)另外要求分别统计这三类员工的人数以及所有员工的总数。

编程思想:首先定义一个虚基类Staff类,然后通过虚拟继承生成Salesman类和Manager类,最后由Salesman和Manager派生出主任销售员类SalesManager。

这四个类中定义InputFromFile(istream &in)这一输入函数,另外每个类还定义输入信息和输出信息的成员函数,之后定义StaffChart、SalesmanChart、ManagerChart和SalesManagerChart四个类来,为实现增加、更新、查询、删除以及全部显示人员的功能定义addItem、modifyItem、find、removeItem 以及display函数。

最后在主函数定义Staff_Chart、Salesman_Chart、Manager_Chart和Salesmanager_Chart四个对象,通过循环执行并用switch函数选择功能,然后调用相关的函数来实现各种功能。

实验代码:#include"iostream"#include"fstream"using namespace std;class Staff{char num[10];char name[10];int age;public:Staff * Next;void set_staff(){cout<<"请输入编号:";cin>>num;cout<<"请输入姓名:";cin>>name;cout<<"请输入年龄:";cin>>age;}void InputFromFile(istream &in){in>>num>>name>>age;}void show(){cout<<"编号:"<<num<<endl;cout<<"姓名:"<<name<<endl;cout<<"年龄:"<<age<<endl;}char *get_num(){return num;}char *get_name(){return name;}int get_age(){return age;}};class Salesman:virtual public Staff{protected:char major[10];char t_title[10];public:Salesman * Next;void set_salesman()cout<<"请输入编号:";cin>>num;cout<<"请输入姓名:";cin>>name;cout<<"请输入年龄:";cin>>age;cout<<"请输入专业:";cin>>major;cout<<"请输入职称:";cin>>t_title;}void InputFromFile(istream &in){in>>num>>name>>age>>major>>t_title;}void show_salesman(){cout<<"编号:"<<num<<endl;cout<<"姓名:"<<name<<endl;cout<<"年龄:"<<age<<endl;cout<<"专业:"<<major<<endl;cout<<"职称:"<<t_title<<endl;}char *get_major(){return major;}char *get_t_title(){return t_title;}};class Manager:virtual public Staff{protected:char job[10];char dept[10];public:Manager * Next;void set_manager(){cout<<"请输入编号:";cin>>num;cout<<"请输入姓名:";cin>>name;cout<<"请输入年龄:";cin>>age;cout<<"请输入职务:";cin>>job;cout<<"请输入部门:";cin>>dept;}如有异议或侵权请及时联系,客服将立即删除!void InputFromFile(istream &in){in>>num>>name>>age>>job>>dept;}void show_manager(){cout<<"编号:"<<num<<endl;cout<<"姓名:"<<name<<endl;cout<<"年龄:"<<age<<endl;cout<<"职务:"<<job<<endl;cout<<"部门:"<<dept<<endl;}char *get_job(){return job;}char *get_dept(){return dept;}};class SalesManager:public Salesman,public Manager{public:SalesManager * Next;void set_salesmanager(){cout<<"请输入编号:";cin>>num;cout<<"请输入姓名:";cin>>name;cout<<"请输入年龄:";cin>>age;cout<<"请输入专业:";cin>>major;cout<<"请输入职称:";cin>>t_title;cout<<"请输入职务:";cin>>job;cout<<"请输入部门:";cin>>dept;}void InputFromFile(istream &in){in>>num>>name>>age>>major>>t_title>>job>>dept;}void show_salesmanager(){cout<<"编号:"<<num<<endl;cout<<"姓名:"<<name<<endl;如有异议或侵权请及时联系,客服将立即删除!cout<<"年龄:"<<age<<endl;cout<<"专业:"<<major<<endl;cout<<"职称:"<<t_title<<endl;cout<<"职务:"<<job<<endl;cout<<"部门:"<<dept<<endl;}};class StaffChart{public:StaffChart();~StaffChart();void find(); //输出单个条目void save(); //将信息输出到文件void modifyItem(); //修改Staff条目void removeItem(); //删除Staff条目void display() //输出全部条目{Staff *p=Head->Next;for(p;p!=End;p=p->Next){p->show();cout<<endl;}}void addItem() //添加条目{End->set_staff();End->Next=new Staff;End=End->Next;save();}private:Staff * Head,* End;ifstream in; //文件输入ofstream out; //文件输出Staff * findItem(char * num){for(Staff * p=Head;p->Next!=End;p=p->Next)if(!strcmp(p->Next->get_num() ,num))return p;return NULL;}StaffChart::StaffChart() //构造函数{Head=new Staff;Head->Next=new Staff;End=Head->Next;in.open("StaffChart.txt");while(!in.eof()){End->InputFromFile(in);if(End->get_num()[0]=='\0')break;End->Next=new Staff;End=End->Next;}in.close();}StaffChart::~StaffChart() //析构函数{for(Staff * temp;Head->Next!=End;){temp=Head->Next;Head->Next=Head->Next->Next;delete temp;}delete Head,End;}void StaffChart::find() //查找条目{char num[10];Staff * p=NULL;cout<<"请输入要查找员工的工号:";cin>>num;if(p=findItem(num))p->Next->show();else{cout<<"没有找到!!"<<endl<<endl;}}void StaffChart::modifyItem() //修改条目char num[10];Staff * p=NULL;cout<<"请输入要修改员工的工号:";cin>>num;if(p=findItem(num)){p->Next->show();cout<<"请输入新的内容:"<<endl;p->Next->set_staff();}elsecout<<"没有找到!!"<<endl<<endl;save();}void StaffChart::removeItem() //删除条目{char num[10];Staff *p=NULL,*temp=NULL;cout<<"请输入要删除员工的工号:";cin>>num;if(p=findItem(num)){temp=p->Next;p->Next=p->Next->Next;delete temp;cout<<"删除成功!!"<<endl<<endl;}elsecout<<"没有找到!!"<<endl<<endl;save();}void StaffChart::save() //保存{out.open("StaffChart.txt");for(Staff * p=Head->Next;p!=End;p=p->Next)out<<p->get_num()<<" "<<p->get_name()<<" "<<p->get_age()<<endl;out.close();}class SalesmanChart{public:SalesmanChart();~SalesmanChart();void find(); //输出单个条目void save(); //将信息输出到文件void modifyItem(); //修改Salesman条目void removeItem(); //删除Salesman条目void display() //输出全部条目{for(Salesman *p=Head->Next;p!=End;p=p->Next)p->show_salesman();}void addItem() //添加条目{End->set_salesman();End->Next=new Salesman;End=End->Next;save();}private:Salesman * Head,* End;ifstream in; //文件输入ofstream out; //文件输出Salesman * findItem(char * num){for(Salesman * p=Head;p->Next!=End;p=p->Next)if(!strcmp(p->Next->get_num() ,num))return p;return NULL;}};SalesmanChart::SalesmanChart() //构造函数{Head=new Salesman;Head->Next=new Salesman;End=Head->Next;in.open("SalesmanChaart.txt");while(!in.eof()){End->InputFromFile(in);if(End->get_num()[0]=='\0')break;End->Next=new Salesman;End=End->Next;}in.close();}SalesmanChart::~SalesmanChart() //析构函数{for(Salesman * temp;Head->Next!=End;){temp=Head->Next;Head->Next=Head->Next->Next;delete temp;}delete Head,End;}void SalesmanChart::find() //查找条目{char num[10];Salesman * p=NULL;cout<<"请输入要查找销售员的工号:";cin>>num;if(p=findItem(num))p->Next->show_salesman();elsecout<<"没有找到!!"<<endl<<endl;}void SalesmanChart::modifyItem() //修改条目{char num[10];Salesman * p=NULL;cout<<"请输入要修改销售员的工号:";cin>>num;if(p=findItem(num)){p->Next->show_salesman();cout<<"请输入新的内容:"<<endl;p->Next->set_salesman();}elsecout<<"没有找到!!"<<endl<<endl;save();}void SalesmanChart::removeItem() //删除条目{char num[10];Salesman *p=NULL,*temp=NULL;cout<<"请输入要删除销售员的工号:";cin>>num;if(p=findItem(num)){temp=p->Next;p->Next=p->Next->Next;delete temp;cout<<"删除成功!!"<<endl<<endl;}elsecout<<"没有找到!!"<<endl<<endl;save();}void SalesmanChart::save() //保存{out.open("SalesmanChart.txt");for(Salesman * p=Head->Next;p!=End;p=p->Next)out<<p->get_num()<<p->get_name()<<p->get_age()<<p->get_major()<<p->get_t_title()<<endl;out.close();}class ManagerChart{public:ManagerChart();~ManagerChart();void find(); //输出单个条目void save(); //将信息输出到文件void modifyItem(); //修改Manager条目void removeItem(); //删除Manager条目void display() //输出全部条目{Manager *p=Head->Next;for(p;p!=End;p=p->Next)p->show_manager();}void addItem() //添加条目{End->set_manager();End->Next=new Manager;End=End->Next;save();如有异议或侵权请及时联系,客服将立即删除!}private:Manager * Head,* End;ifstream in; //文件输入ofstream out; //文件输出Manager * findItem(char * num){for(Manager * p=Head;p->Next!=End;p=p->Next)if(!strcmp(p->Next->get_num() ,num))return p;return NULL;}};ManagerChart::ManagerChart() //构造函数{Head=new Manager;Head->Next=new Manager;End=Head->Next;in.open("ManagerChaart.txt");while(!in.eof()){End->InputFromFile(in);if(End->get_num()[0]=='\0')break;End->Next=new Manager;End=End->Next;}in.close();}ManagerChart::~ManagerChart() //析构函数{for(Manager * temp;Head->Next!=End;){temp=Head->Next;Head->Next=Head->Next->Next;delete temp;}delete Head,End;}void ManagerChart::find() //查找条目{如有异议或侵权请及时联系,客服将立即删除!char num[10];Manager * p=NULL;cout<<"请输入要查找经理的工号:";cin>>num;if(p=findItem(num))p->Next->show_manager();elsecout<<"没有找到!!"<<endl<<endl;}void ManagerChart::modifyItem() //修改条目{char num[10];Manager * p=NULL;cout<<"请输入要修改经理的工号:";cin>>num;if(p=findItem(num)){p->Next->show_manager();cout<<"请输入新的内容:"<<endl;p->Next->set_manager();}elsecout<<"没有找到!!"<<endl<<endl;save();}void ManagerChart::removeItem() //删除条目{char num[10];Manager *p=NULL,*temp=NULL;cout<<"请输入要删除经理的工号:";cin>>num;if(p=findItem(num)){temp=p->Next;p->Next=p->Next->Next;delete temp;cout<<"删除成功!!"<<endl<<endl;}elsecout<<"没有找到!!"<<endl<<endl;save();}void ManagerChart::save() //保存{out.open("ManagerChart.txt");for(Manager * p=Head->Next;p!=End;p=p->Next)out<<p->get_num()<<p->get_name()<<p->get_age()<<p->get_job()<<p->get_dept()<<endl;out.close();}class SalesManagerChart{public:SalesManagerChart();~SalesManagerChart();void find(); //输出单个条目void save(); //将信息输出到文件void modifyItem(); //修改Manager条目void removeItem(); //删除Manager条目void display() //输出全部条目{SalesManager *p=Head->Next;for(;p!=End;p=p->Next)p->show_salesmanager();}void addItem() //添加条目{End->set_salesmanager();End->Next=new SalesManager;End=End->Next;save();}private:SalesManager * Head,* End;ifstream in; //文件输入ofstream out; //文件输出SalesManager * findItem(char * num){for(SalesManager * p=Head;p->Next!=End;p=p->Next)if(!strcmp(p->Next->get_num() ,num))return p;return NULL;}};SalesManagerChart::SalesManagerChart() //构造函数{Head=new SalesManager;Head->Next=new SalesManager;End=Head->Next;in.open("SalesManagerChaart.txt");while(!in.eof()){End->InputFromFile(in);if(End->get_num()[0]=='\0')break;End->Next=new SalesManager;End=End->Next;}in.close();}SalesManagerChart::~SalesManagerChart() //析构函数{for(SalesManager * temp;Head->Next!=End;){temp=Head->Next;Head->Next=Head->Next->Next;delete temp;}delete Head,End;}void SalesManagerChart::find() //查找条目{char num[10];SalesManager * p=NULL;cout<<"请输入要查找经理的工号:";cin>>num;if(p=findItem(num))p->Next->show_salesmanager();elsecout<<"没有找到!!"<<endl<<endl;}void SalesManagerChart::modifyItem() //修改条目{char num[10];SalesManager * p=NULL;cout<<"请输入要修改经理的工号:";cin>>num;if(p=findItem(num)){p->Next->show_salesmanager();cout<<"请输入新的内容:"<<endl;p->Next->set_salesmanager();}elsecout<<"没有找到!!"<<endl<<endl;save();}void SalesManagerChart::removeItem() //删除条目{char num[10];SalesManager *p=NULL,*temp=NULL;cout<<"请输入要删除经理的工号:";cin>>num;if(p=findItem(num)){temp=p->Next;p->Next=p->Next->Next;delete temp;cout<<"删除成功!!"<<endl<<endl;}elsecout<<"没有找到!!"<<endl<<endl;save();}void SalesManagerChart::save() //保存{out.open("SalesManagerChart.txt");for(Manager * p=Head->Next;p!=End;p=p->Next)out<<p->get_num()<<p->get_name()<<p->get_age()<<p->get_job()<<p->get_dept()<<endl;out.close();}int main(){int x,y;StaffChart Staff_Chart;SalesmanChart Salesman_Chart;ManagerChart Manager_Chart;SalesManagerChart SalesManager_Chart;bool quit=false;while(!quit){cout<<"选择功能:\n1.增加数据\t2.更新数据\t3.查询数据\t4.删除数据\t5.列出全部人员\t6.退出"<<endl;cin>>x;switch(x){case 1:cout<<"选择增加的类型:\n1.员工\t2.销售员\t3.经理\t4.销售经理"<<endl;cin>>y;switch(y){case 1:Staff_Chart.addItem();break;case 2:Salesman_Chart.addItem();break;case 3:Manager_Chart.addItem();break;case 4:SalesManager_Chart.addItem();break;default :cout<<"输入错误,程序终止!!"<<endl;exit(-1);}break;case 2:cout<<"选择更新的类型:\n1.员工\t2.销售员\t3.经理\t4.销售经理"<<endl;cin>>y;switch(y){case 1:Staff_Chart.modifyItem();break;case 2:Salesman_Chart.modifyItem();break;case 3:Manager_Chart.modifyItem();break;case 4:SalesManager_Chart.modifyItem();break;default :cout<<"输入错误,程序终止!!"<<endl;exit(-1);}break;case 3:cout<<"选择查询的类型:\n1.员工\t2.销售员\t3.经理\t4.销售经理"<<endl;cin>>y;switch(y){case 1:Staff_Chart.find();break;case 2:Salesman_Chart.find();break;case 3:Manager_Chart.find();break;case 4:SalesManager_Chart.find();break;default :cout<<"输入错误,程序终止!!"<<endl;exit(-1);;}break;case 4:cout<<"选择删除的类型:\n1.员工\t2.销售员\t3.经理\t4.销售经理"<<endl;cin>>y;switch(y){case 1:Staff_Chart.removeItem();break;case 2:Salesman_Chart.removeItem();break;case 3:Manager_Chart.removeItem();break;case 4:SalesManager_Chart.removeItem();break;default :cout<<"输入错误,程序终止!!"<<endl;exit(-1);}break;case 5:cout<<"选择列出人员的类型:\n1.员工\t2.销售员\t3.经理\t4.销售经理"<<endl;cin>>y;switch(y){case 1:Staff_Chart.display();break;case 2:Salesman_Chart.display();break;case 3:Manager_Chart.display();break;case 4:SalesManager_Chart.display();break;default :cout<<"输入错误,程序终止!!"<<endl;exit(-1);}break;case 6:quit=true;break;default :cout<<"输入错误,程序终止!!"<<endl;exit(-1);}}return 0;}运行结果:运行空间有四个文件:增加两个员工:修改一个销售员信息:查询一个销售员信息:列出全部员工:删除一个员工:再次列出员工:个人总结:经过多天努力终于完成了老师布置的大作业,但是效果上自己还是不太满意,有很多地方都想让它更佳完整,更符合自己心目中的那种管理系统,课后依然会继续修改,让它达到自己心中理想的完善的程序。

《C语言大作业》设计说明书 (2)

《C语言大作业》设计说明书 (2)

CHANGZHOU INSTITUTE OF TECHNOLOGY课 程 设 计 说 明 书课程名: 《C 语言大作业》题 目: 通 讯 录 管 理 系 统二级学院: 计算机信息工程学院专 业: 软件工程 班 级: 12 软 件 卓 越 学 号: 12030427 姓 名: 许 彦 文 指导教师: 曹 中 心2013年 7 月KC021-11.课程认识目的:加深对《C程序设计》课程所学知识的理解,进一步巩固C语言的编程方法。

学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能力,加强动手能力。

任务:根据要求电话簿数据以文本文件存放在文件中,并按要求实现通讯录最基本的功能。

2.课题选择在这个信息化时代,手机已成为最通俗的交流工具,通讯录日常生活中不可缺少的,且编写此系统中要用到的函数大多数是我们学过的,在我们的能力掌握范围内,一开始我们也只想到了通讯录的基本功能,后来我们通过各方面的努力,尽量使整个系统的功能更加齐全。

3.见组长(王扣慈)4.模块详细设计我负责的是注册、添加、删除的功能。

注册:运行此功能时,有用户名限制(仅限字母)、密码限制(仅限数字或字母),注册时密码要输出两次但如果第二次输密码时输错超过两次就意味着注册失败。

(如图4-1)添加:加入你所需要的数据,数据包括姓名、电子邮箱、电话号码、分类、编号。

(如图4-2)删除:输入名字,找到欲删除的那个人的名字后,会自动删除他(她)的记录内容。

(如图4-3)图4-1 注册用户流程图图4-2 添加用户流程图图4-3删除用户流程图5.主要实现方法我编写的最重要的应该是注册,而注册中最重要的就是实现用户名、密码的权限 void zhuce( ) { FILE *fp;if((fp=fopen("mima.dat","wb"))==NULL) //建一个新的文件夹 { printf("cannot open file!\n"); exit(0);}int sign=1; int k=1;Yint j,i=1;int m=1;int len=0;char code1[N],code2[N],user[N];printf("用户名仅限于字母"); //设定用户名权限while(m!=0) //用户名如果不符合要求就继续输入,输对就跳出循环{printf("\n输入用户名\n");getchar();gets(user);len=strlen(user);for(j=0;j<len;j++){if(!((user[j]>='a'&&user[j]<='z')||(user[j]>='A'&&user[j]<='Z'))){m=1;printf("用户名格式不符,请重新输入");}else m=0;}}printf("密码权限仅限数字或字母"); //设定密码权限while(k!=0) //密码不符合要求就继续输入,输对就跳出循环{printf("输入密码\n");gets(code1);len=strlen(code1);for(j=0;j<len;j++){if(!((code1[j]>='a'&&code1[j]<='z')||(code1[j]>='A'&&code1[j]<='Z')||(code1[j]>='0'& &code1[j]<='9'))){k=1;printf("密码格式不符,请重新输入\n");}else k=0;}}while(sign!=0){printf("再输入一次密码\n");//再输入一次密码看两次是否一样gets(code2);if(!strcmp(code1,code2)){printf("注册成功\n");//两次输出密码相等,就注册成功sign=0;}else{sign=1;printf("密码出错,与第一次不符");i++;}if(i>3){printf("\n你已经超过2次输错密码,已无法输入,再见");break; //如果超过两次输错密码,系统将会阻止再次输入}}fputs(user,fp);fputs(code1,fp);//将输入的用户名,密码存放到文件夹中,以便用于登陆fclose(fp);}6.课程设计总结问题:我出现的问题主要还是出现在注册中,其他两个程序虽然也有问题,但都能通过自己和小组成员之间的交流慢慢解决,类如在添加时选择是否继续添加下去时,运行时系统会不理你的选择继续叫你加下去,然后和小组成员讨论后在选择是否添加前面加了个getchar()问题就解决了。

C语言程序大作业

C语言程序大作业

C语言程序大作业
大连理工大学C程序设计(大作业)总结报告学生成绩录入处理系统
学生姓名:罗________________
专业班级:__________________________
学号:
联系电话:__________________________
Email : ________________________
完成日期: 2015年5月29日
设计任务
我的程序设计是一个学生成绩录入及处理的程序,该程序包括多种功能,能够满足大多数的学生成绩管理处理。

主要能够实现的目的主要有:
第一.学生姓名学号既包括三门成绩等信息的录入,并保存到文件d://score.txt 第二.对每个学生的成绩进行求平均分及按平均分排序的数字处理。

第三.对输入错误的学生信息加以修改重新排序保存。

第四.增加学生信息,重新排序,加以保存。

第五.按每个学生的平均分进行表格化和图形化处理。

第六.实现某位同学的信息查找,包括姓名,学号,每科成绩及平均分。

以上功能全都可以实现,但是注意录入信息的要求,下面会有注释。

二、程序设计与实现
1.结构框图
下图描述预期实现题目的设计方案或功能设计的组成结构。

绘制成框图,如图所示是我设计的成绩信息管理程序设计的结构图示:
学生成绩信息管理
2.功能模块设计及其流程图
(1)数据描述与存储
该学生信息统计系统设计一个全局结构体变量,将学生的姓名,学号,各科成绩及。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言程序设计报告题目:学生成绩管理系统设计者:蔡浩专业班级:电子1201学号:102013年6月1日湖南工学院电信学院 1目录一.封面 (1)二.概述 (3)三.作业任务书 (4)四.本组课题及本人任务 (5)五.程序功能简介 (6)六.主体内容 (7)2一、概述1.设计背景学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段,但是几年前,各个学校的学生成绩管理基本上都是靠手工进行,随着各个学校的规模增大,有关学生成绩管理工作所涉及的数据量越来越大,有的学校不得不靠增加人力、物力来进行学生成绩管理。

这种管理方式存在着许多缺点,如:效率低、保密性差,另外所用其时间长,产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

如今学校的学生越来越多,成绩管理的工作量越来越大,手工管理成绩的弊端也越来越明显。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对学生档案信息进行管理,具有手工管理所无法比拟的优点。

例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高学生档案管理的效率。

所以我想借本次课程设计之际,设计一个简易的学生成绩管理系统。

2. 设计目的1、掌握运用数据库原理进行系统分析和设计的方法;2、掌握关系数据库的设计方法;3、加强C语言的编程能力3. 设计内容1.设计一个简易学生成绩管理的数据库系统,包括数据库的建立的需求分析,数据的输入输出。

2.设计用户的操作界面,主要实现数据的查询,录入,显示,修改,删除,统计基本功能。

3 三.作业任务书根据开发要求,学生成绩管理系统主要应用于教育系统,完成对日常的教学、教务、教师以及学生的计算机化的管理。

开发学生成绩管理系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。

目前,学校工作繁杂、资料重多。

目前,管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。

因此,开发一套适和大众的、兼容性好的系统是很有必要的。

四.本组课题及本人任务“学生成绩管理系统”包括九个模块:输入学生资料,输出学生资料,学生姓名按顺序排列,添加学生资料,按姓名查找,删除该学生资料,查找并显示学生资料,按姓名查找,修改该学生资料,从文件中读入数据,储存学生资料并退出系统。

这九个模块既相互联系又相互独立。

4 五.程序功能简介学生成绩管理系统主要提供成绩查询,方便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己相关信息,查看留言、提交留言。

教师可以通过成绩管理系统查阅学生成绩信息,教师信息,查看教师留言、学生留言、提交留言、留言的管理等相关操作。

系统管理员可以实现以上的所有功能,还有对学生的添加、删除、修改、教师的添加、删除、修改,数据库的备份、数据库的还原等相关操作。

六.主体内容1.程序源代码#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <windows.h>#define STUSIZE 10void stuCover();//程序封面void mainmenu();void editmenu();//编辑子菜单void dispmenu();//查看子菜单void compmenu();//计算子菜单void sortmenu();//排序子菜单 5 void Open();//打开文件函数声明void Save();//保存文件函数声明void Add();//增加学生记录函数声明void Del();//删除学生记录函数声明void Modify();//修改学生记录函数声明void DispOne();//查看一个记录函数声明void DispAll();//显示全部记录函数声明void AsceSort(float array[],int n);//按升序排列函数声明void DropSort();//按降序排列函数声明void NotElig();//查找不及格记录函数声明void CompSum();//计算总成绩和平均成绩函数声明void SearchMax();//查找最高成绩函数声明void SearchMin();//查找最低成绩函数声明void Explain();//程序说明函数声明void Quit(int);//退出函数声明void gotoxy(int x,int y);//光标定位函数声明void main(){int choose,editnum,dispnum,compnum,sortnum;//定义5个输入变量float stuscore[STUSIZE]={65.5,80,97.5,55,85,77.5,89,95,68.5,88};system("cls");stuCover();getch();while(1)//外循环{mainmenu();//调用主菜单函数printf("\t\t请输入序号:");scanf("%d",&choose);switch(choose)//主菜单的switch{case 1:Open();break;case 2:Save();break;case 3:do//内循环1{editmenu();//调用编辑子菜单函数printf("\t\t请输入序号:");scanf("%d",&editnum);switch(editnum)//编辑子菜单switchcase 1:Add();break;case 2:Del();break; 6case 3:Modify();break;case 0:Quit(0);break;}//编辑子菜单switch结束}while(editnum!=0);//内循环1结束break;case 4:do//内循环2{dispmenu();//调用查看子菜单函数printf("\t\t请输入序号:");scanf("%d",&dispnum);switch(dispnum)//显示子菜单switch{case 1:DispOne();break;case 2:DispAll();break;case 3:do//内循环3{sortmenu();//调用排序子菜单函数printf("\t\t请输入序号:");scanf("%d",&sortnum);switch(sortnum)//排序子菜单switch{case 1:AsceSort(stuscore,STUSIZE);break;case 2:DropSort();break;case 0:Quit(0);break;}//排序子菜单switch结束}while(sortnum!=0);//内循环3结束break;case 4:NotElig();break;case '0':Quit(0);break;}//显示子菜单switch结束}while(dispnum!=0);//内循环2结束break;case 5:do//内循环4{compmenu();//调用计算子菜单函数printf("\t\t请输入序号:");scanf("%d",&compnum);switch(compnum)//计算子菜单switchcase 1:CompSum();break;case 2:SearchMax();break; 7case 3:SearchMin();break;case 0:Quit(0);break;}//计算子菜单switch结束}while(compnum!=0);//内循环4结束break;case 6:Explain();break;//程序说明case 0:Quit(1);break;}//主菜单的switch结束}//外循环结束}void Open()//打开文件函数{printf("打开文件!\n"); getch();}void Save()//保存文件函数{printf("保存文件!\n");getch();}void Add()//增加学生记录函数{printf("增加记录!\n");getch();}void Del()//删除学生记录函数{printf("删除记录!\n");getch();}void Modify()//修改学生记录函数{printf("修改记录!\n");getch();}void DispOne()//查看一个记录函数{printf("查看选定记录!\n");getch();}void DispAll()//显示全部记录函数{printf("显示全部记录!\n");getch();}void AsceSort(float array[],int n)//按升序排列函数{int i,j;float t; 8 system("cls");for(i=0;i<n-1;i++){for(j=0;j<n-i-1;j++){if(array[j]>array[j+1]){t=array[j];array[j]=array[j+1];array[j+1]=t;}}}gotoxy(40,5);printf("学生成绩排序结果");gotoxy(10,7);for(i=0;i<n;i++)printf("%5.1f",array[i]);getch();}void DropSort()//按降序排列函数{printf("按降序排序!\n");getch();}void NotElig()//显示不及格记录函数{printf("显示不及格记录!\n");getch();}void CompSum()//计算总成绩和平均成绩函数{printf("计算总成绩和平均成绩!\n");getch();}void SearchMax()//查找最高成绩函数{printf("计算最高分!\n");getch();}void SearchMin()//查找最低成绩函数{printf("计算最低分!\n");getch();}void gotoxy(int x,int y) //光标定位函数{ 9 COORD c;c.X = x - 1;c.Y = y - 1;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);}void Quit(int flag)//退出{char yn;if(flag==1){system("cls");printf("返回上级菜单");getch();}elseif(flag==0){system("cls");printf("你真的要退出吗?(y/n)");getchar();//吃掉键盘上的回车scanf("%c",&yn);if((char)yn=='y'||(char)yn=='Y'){system("cls");printf("\n\n\n\t\t\t谢谢使用!\n");exit(0);}}else{system("cls");printf("输入错!");}}void Explain()//程序说明{system("cls");gotoxy(10,3);//光标定位函数printf(" 这是一个教学程序。

相关文档
最新文档