c语言课程设计题目(大一C语言课程设计题目, 求急! 加100分)

2024-08-24 07:00:19 :6

c语言课程设计题目(大一C语言课程设计题目, 求急! 加100分)

本文目录

大一C语言课程设计题目, 求急! 加100分

#include《stdio.h》

#include《string.h》

#define N 100

typedef struct AA

{

char name;

char phone;

char e_mail;

char relation;

}AA;

/*1。输入新联系人2。删除指定的联系人(输入姓名,若找掉则删除该联系人的信息)

3。根据输入的与本人关系,显示联系信息4。显示所有联系人的信息设计菜单*/

int input__(AA * s)

{

 int len = 0,i = 0,n;

printf("请输入要添加的联系人个数,上限为%d个\n",N);

scanf("%d",&n);

for(i=0;i《n;i++)

{

printf("请依次输入第%d联系人的姓名、电话、邮箱以及与本人的关系(中间使用空格隔开即可):\n",i);

scanf("%s%s%s%s",s.relation);

}

return n;

}

void delete__(AA *s,int *n)

{

int i = 0,j = 0,status = 0;

char ca = "";

printf("请输入要删除的联系人的姓名\n");

scanf("%s",ca);

for(i=0;i《*n;i++)

{

if(!strcmp(ca,s.name))

{

*n = *n-1;

status = 1;

for(j=i;j《*n;j++)

{

s;

}

break;

}

}

if(status == 0)

printf("没有找到要删除的人的信息\n");

else

printf("删除成功\n");

}

void show__relation(AA *s,int n)

{

int i = 0,status = 0;

printf("请输入与联系人的关系\n");

char ca = "";

scanf("%s",ca);

for(i=0;i《n;i++)

{

if(!strcmp(ca,s.relation))

{

printf("name:%15s\tphone:%15s\ne-mail:%15s\trelation:%15s\n",s.relation);

status = 1;

}

}

if(!status)

printf("没有找到相应的信息\n");

}

void show__all(AA *s,int n)

{

int i = 0;

for(i = 0 ; i 《n ; i++)

{

printf("name:%15s\tphone:%15s\ne-mail:%15s\trelation:%15s\n",s.relation);

}

}

int  main(void)

{

AA  a;

int n = 0;

int i;

while(1)

{

printf("0------退出系统\n1------输入联系人信息\n2------删除指定联系人信息\n");

printf("3------显示与本人关系相通的联系人信息\n4------显示所有联系人的信息\n");

scanf("%d",&i);

if(i == 0)

break;

switch(i)

{

case 1:n = input__(a); break;

case 2: 

if(n == 0)

{

printf("你还没有添加信息,请先添加信息:\n");

break;

}

else

{

delete__(a,&n);

break;

}

case 3:

{

if(n == 0)

{

printf("你还没有添加信息,请先添加信息:\n");

break;

}

else

{

show__relation(a,n);

break;

}

}

case 4:

{

if(n == 0)

{

printf("你还没有添加信息,请先添加信息:\n");

break;

}

else

{

show__all(a,n);

break;

}

}

default:

printf("您的选择有误,请重新选择\n");

break;

}

}

return 0;

}

//看看~~~刚刚写完~

C语言课程设计题目

例:学生管理系统设计 设计内容: 详见视频,要求数据结构用链表,数据存储使用文件。

计算每个老师在一个学期中所教课程的总工作量。(教师单个教学任务的信息为:教师号、姓名、性别、职称、认教课程、班级、班级数目、理论课时、实验课时、单个教学任务总课时) A、教师信息处理 (1) 输入教师授课教学信息,包括教师号、姓名、性别、职称、认教课程、班级、班级数目、理论课时、实验课时。 (2) 插入(修改)教师授课教学信息: (3) 删除教师授课教学信息: (4) 浏览教师授课教学信息: B、教师工作量数据处理: (1) 计算单个教学任务总课时。计算原则如下表:

(2) 计算一个教师一个学期总的教学工作量。总的教学工作量=所有单个教学任务总课时之和。 (3)教师数据查询:   提示:输入教师号或其他信息,即读出所有数据信息,并显示出来。 C、教师综合信息输出   提示:输出教师信息到屏幕。

***隐藏网址*** 提取码: 1111

该系统是一个进行选择题测试的考试系统,具有测试、练习功能,具有系统设置功能,具有查分和帮助功能。 一、功能要求: 1、用文件保存试题库。(每个试题包括题干、4个备选答案、标准答案) 2、试题录入:可随时增加试题到试题库中 3、试题抽取:每次从试题库中可以随机抽出N道题及每题的得分K(N、K由键盘输入)。 4、可以设置考试时间。 5、用户可以选择“考试”和“练习”两种方式。 5、答题:用户可实现输入自己的答案,“考试”时系统不能显示答案。“练习”时每一题都可以通过查看“按钮”显示标准答案。可以用“上一题”、“下一题”翻页。选择“交卷”按钮则显示得分; 6、自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。 7、考试开始系统显示倒计时。时间为零自动交卷。 二、其它要求: 1、源程序要有适当的注释,使程序容易阅读 2、至少采用文本菜单界面(如果能采用图形菜单界面更好) 3、学生可自动增加新功能模块(视情况可另外加分) 4、写出课程设计报告,具体要求见相关说明文档

***隐藏网址*** 提取码: 1111

设计内容: 设计一个简单的英语字典,输入英语单词,显示中文含义,设计要求:

***隐藏网址*** 提取码: 1111

设计内容: 设计一个学生通信录,学生通迅录数据信息构成内容可自行设计(如:姓名、家庭地址、邮政编码、电话号码等等)。该学生通信录电话簿管理程序具有加入、删除、显示和查询等功能。 设计要求: 1、 能建立、修改和增删学生通讯录 2、 具有群组工能,可以增加群组和记录。 3、 删除可以删除一条、一个群组、全部记录。 4、 查询包含模糊查询。 5、 显示可以以页面和列表方式显示。 6、 有自动排序的功能。 7、 要求:界面友好,易于操作,采用文件存储数据。

***隐藏网址*** 提取码: 1111

实现一个完整的小型音像店对录像带进行管理的系统。 系统要求具有以下功能: (1) 管理音像店中的所有录像带,包括新录像带入库、录像带出租、录像带的返还、所有录像带清单的显示、根据指定条件进行查找删除录像带等各种基本操作。 (2) 客户数据维护,可以将客户分为不同等级,可以根据指定客户显示其所借录像带详细信息。 (3) 租金管理,根据所借日期自动计算所需交纳的租金。 (4) 系统要求界面美观,菜单设计合理,操作方便。 音像店有两个主要的组成部分:录像带和客户。可以构造3个链表存储以下数据: (1) 商店中所有录像带的链表; (2) 商店所有客户的链表; (3) 当前已出租的录像带链表;

***隐藏网址*** 提取码: 1111

航空客运订票的业务活动包括:查询航线、客票预定和办理退票等。设计一个航空订票系统实现上述功能。 (1) 将每条航线的有关信息存入计算机,如:终点站名、航班号、飞机号、飞行周日(星期几)、时间、乘员定额、余票量、票价,已定票客户名单和等候替补客户名单(包括姓名,所需票数); (2) 查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞、最近一天航班的日期和余票量。 (3) 订票:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续;若已满员或余票额少于订票额,则需重新询问客户要求。若需要,可登记排队候补; (4) 退票:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他候补客户。 发挥想像,增加新的功能,完善系统。 系统要求界面美观,菜单设计合理,操作方便。

***隐藏网址*** 提取码: 1111

某旅馆有n个等级的房间,第I等级有 个房间,每个等级的房间有 个床位(1≤i≤n)。试模拟旅馆管理系统中床位分配和回收的功能,设计能为单个旅客分配床位,在其离店便回收床位(供下次分配)的算法。 (1) 旅客登记,即为旅客分配床位。输入旅客姓名、年龄、性别、到达日期和所需房间等级。分配成功时打印旅客姓名、年龄、到达日期、房间等级、房间号码和床位号码。分配不成功时,如所有等级均无床位,则打印“客满”信息;如旅客需要的等级均无空床位,则打印“是否愿意更换等级?”的询问信息。若旅客愿意更换,则重新输入有关信息,再进行分配,否则分配工作结束。 (2) 旅客离开时,即进行床位回收。输入房间等级、房间号和床位号。

***隐藏网址*** 提取码: 1111

设计内容: 职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。 设计要求: 1、系统以菜单方式工作 2、职工信息录入功能(职工信息用文件保存)--输入 3、职工信息浏览功能--输出 4、职工信息查询功能--算法 查询方式 按学历查询等 按职工号查询等 5、职工信息删除、修改功能(可选项) 6、按工号排序

***隐藏网址*** 提取码: 1111

设计内容: 图书信息包括:书号、书名、作者名、分类号、出版社、出版时间、价格等。 设计功能: 1、系统以菜单方式工作 2、图书信息录入功能(图书信息用文件保存)--输入 3、图书信息的功能(插入、删除、修改) 4、图书信息浏览功能(按书号、书名、出版时间、价格等排序输出)。 5、图书信息查询功能(按书号、书名、作者名、出版社查询,提供模糊查询的功能)

***隐藏网址*** 提取码: 1111

设计内容: 实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。 设计功能: 1、能够完成对设备的录入和修改 2、对设备进行分类统计 3、设备的破损耗费和遗损处理 4、设备的查询 要求:采用文件方式存储数据,系统以菜单方式工作

***隐藏网址*** 提取码: 1111

设计内容: 设计一个学生选修课程系统,假定有n门课程,每门课程有:课程编号,课程名称,课程性质(公共课、必修课、选修课),总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。 设计功能: 1、系统以菜单方式工作 2、课程信息录入功能(课程信息用文件保存)--输入 3、课程信息的功能(插入、删除、修改) 4、课程信息浏览功能(按课程编号、课程名称、总学时、学分等排序输出)。 5、课程信息查询功能(按课程编号、课程名称、课程性质、开课学期等查询,提供模糊查询的功能) 6、学生选修课程 7、学生选课信息查询

***隐藏网址*** 提取码: 1111

设计内容: 某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:1)销售员的代号,2)产品的代号,3)这种产品的当天的销售额。每位销售员每天上缴1张便条。试设计一个便条管理系统。 设计功能: 1、系统以菜单方式工作 2、便条信息录入功能(便条信息用文件保存)--输入 3、收集到了上个月的所有便条后,读取销售情况 1)计算每个人每种产品的销售额。 2)按销售额对销售员进行排序,输出排序结果(销售员代号) 3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)(可选项)

***隐藏网址*** 提取码: 1111

设计内容: 设计出模拟手机通信录管理系统,实现对手机中的通信录进行管理。 设计功能: (1)查看功能:选择此功能时,列出下列三类选择。 A.办公类 B.个人类 C.商务类,当选中某类时,显示出此类所有数据中的姓名和电话号码) (2)增加功能:能录入新数据 一个结点包括:姓名、电话号码、分类(A 办公类 B 个人类 C 商务类)、电子邮件)。 例如: 杨春 13589664454 商务类 chuny@126.com 当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通信录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。 (3)拔号功能: 能显示出通信录中所有人的姓名,当选中某个姓名时,屏幕上模拟打字机的效果依次显示出此人的电话号码中的各个数字,并伴随相应的拔号声音。 (4)修改功能: 选中某个人的姓名时,可对此人的相应数据进行修改 (5)删除功能: 选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。

***隐藏网址*** 提取码: 1111

每个教师的信息为:教师号、姓名、性别、单位名称、家庭住址、联系电话、基本工资、津贴、生活补贴、应发工资、电话费、水电费、房租、所得税、卫生费、公积金、合计扣款、实发工资。注:应发工资=基本工资+津贴+生活补贴;合计扣款=电话费+水电费+房租+所得税+卫生费+公积金;实发工资=应发工资 - 合计扣款。 A、教师信息处理 (1) 输入教师信息 (2) 插入(修改)教师信息: (3) 删除教师信息: (4) 浏览教师信息:   提示:具体功能及操作参考题1。 B、教师数据处理: (1) 按教师号录入教师基本工资、津贴、生活补贴、电话费、水电费、房租、所得税、卫生费、公积金等基本数据。 (2) 教师实发工资、应发工资、合计扣款计算。   提示:计算规则如题目。 (3) 教师数据管理   提示:输入教师号,读出并显示该教师信息,输入新数据,将改后信息写入文件 (4) 教师数据查询:   提示:输入教师号或其他信息,即读出所有数据信息,并显示出来。 (5) 教师综合信息输出   提示:输出教师信息到屏幕。

***隐藏网址***

***隐藏网址***

提取码: 1111

求高人解决一道C语言课程设计题

这个你可以参考。#include《stdio.h》 #include《stdlib.h》 #include《string.h》 #define BUFLEN 100 #define LEN 15 #define N 100 struct record{char code;char name; int age; char sex; char time; char add; char dorm;char classes;char major;}stu;int k=1,n,m,ad_key=111; FILE *fp;void readfile();void seek();void modify();void insert();void del();void display();void save();void menu(); int main(){ while(k)menu();system("pause");return 0;} void help(){ printf("\n0.欢迎使用系统帮助!\n");printf("\n1.进入系统后,先刷新学生信息,再查询;\n");printf("\n2.按照菜单提示键入数字代号;\n");printf("\n3.增加学生信息后,切记按7保存;\n");printf("\n4.谢谢您的使用!\n");} void readfile(){char *p="student.txt";FILE *fp;int i=0;if ((fp=fopen("student.txt","r"))==NULL){ printf("Open file %s error! Strike any key to exit!",p);system("pause");exit(0);}while(fscanf(fp,"%s %s%d%s %s %s %s %s %s",stu.age,stu.major)==8){i++;i=i;}fclose(fp);n=i;printf("录入完毕!\n");} void seek() {int i,item,flag;char s1; printf("------------------\n");printf("-----1.按学号查询-----\n");printf("-----2.按姓名查询-----\n");printf("-----3.退出本菜单-----\n");printf("------------------\n");while(1){printf("请选择子菜单编号:");scanf("%d",&item);flag=0;switch(item){case 1:printf("请输入要查询的学生的学号:\n");scanf("%s",s1);for(i=0;i《n;i++)if(strcmp(stu.code,s1)==0){flag=1;printf("学生学号 学生姓名 年龄 性别 出生年月 地址 宿舍 班级 专业\n");printf("--------------------------------------------------------------------\n");printf("%6s %7s %6d %5s %9s %8s %10s %10s %10s\n",stu.age,stu.major);}if(flag==0)printf("该学号不存在!\n"); break;case 2:printf("请输入要查询的学生的姓名:\n");scanf("%s",s1);for(i=0;i《n;i++)if(strcmp(stu.name,s1)==0){flag=1;printf("学生学号 学生姓名 年龄 性别 出生年月 地址 宿舍 班级 专业\n");printf("--------------------------------------------------------------------\n");printf("%6s %7s %6d %5s %9s %8s %10s %10s %10s\n",stu.age,stu.major);}if(flag==0)printf("该姓名不存在!\n"); break;case 3:return;default:printf("请在1-3之间选择\n");}}} /*********key*********/key_2(){ int p; if((fp=fopen("key_2","r"))==NULL) { fp=fopen("key_2","w+"); fwrite(&ad_key,sizeof(int),1,fp); fclose(fp); } fp=fopen("key_2","r"); fread(&ad_key,sizeof(int),1,fp); fclose(fp); printf("请输入管理员密码:\n");error9:scanf("%d",&p); if(p!=ad_key) { printf("对不起您输入的密码有误,请重新输入!\n"); goto error9; } else modify();}change_key2(){ int p; if((fp=fopen("key_2","r"))==NULL) { fp=fopen("key_2","w+"); fwrite(&ad_key,sizeof(int),1,fp); fclose(fp); } fp=fopen("key_2","r"); fread(&ad_key,sizeof(int),1,fp); fclose(fp); printf("请输入管理员密码:\n");error9:scanf("%d",&p); if(p!=ad_key) { printf("对不起您输入的密码有误,请重新输入!\n"); goto error9; } else {printf("请输入新的管理员密码:\n"); scanf("%d",&ad_key); fp=fopen("key_2","w"); fwrite(&ad_key,sizeof(int),1,fp); fclose(fp); printf("修改成功!!!!!\n");}}void modify() {int i,item,num;char sex1; printf("请输入要要修改的学生的学号:\n");scanf("%s",s1);for(i=0;i《n;i++)if(strcmp(stu.code,s1)==0) num=i;printf("------------------\n");printf("1.修改姓名\n");printf("2.修改年龄\n");printf("3.修改性别\n");printf("4.修改出生年月\n");printf("5.修改地址\n");printf("6.修改宿舍号码\n");printf("7.修改班级\n");printf("8.修改专业\n");printf("9.退出本菜单\n");printf("------------------\n");while(1){printf("请选择子菜单编号:");scanf("%d",&item);switch(item){case 1:printf("请输入新的姓名:\n");scanf("%s",s2);strcpy(stu.name,s2); break;case 2:printf("请输入新的年龄:\n");scanf("%d",&stu.age);break;case 3:printf("请输入新的性别:\n");scanf("%s",sex1);strcpy(stu.sex,sex1); break;case 4:printf("请输入新的出生年月:\n");scanf("%s",s2);strcpy(stu.time,s2); break;case 5:printf("请输入新的地址:\n");scanf("%s",s2);strcpy(stu.add,s2); break;case 6:printf("请输入新的宿舍号码:\n");scanf("%s",s2);strcpy(stu.dorm,s2); break;case 7:printf("请输入新的班级:\n");scanf("%s",s2);case 8:printf("请输入新的专业:\n");scanf("%s",s2);strcpy(stu.classes,s2); break;case 9:return;default:printf("请在1-9之间选择\n");}}} void sort(){int i,j,*p,*q,s; char temp;for(i=0;i《n-1;i++){for(j=n-1;j》i;j--)if(strcmp(stu.code)》0){strcpy(temp,stu.code);strcpy(stu.code);strcpy(stu.code,temp);strcpy(temp,stu.name);strcpy(stu.name);strcpy(stu.name,temp);strcpy(temp,stu.sex);strcpy(stu.sex);strcpy(stu.sex,temp);strcpy(temp,stu.time);strcpy(stu.time);strcpy(stu.time,temp);strcpy(temp,stu.add);strcpy(stu.add);strcpy(stu.add,temp);strcpy(temp,stu.dorm);strcpy(stu.dorm);strcpy(stu.dorm,temp);strcpy(temp,stu.classes);strcpy(stu.classes);strcpy(stu.classes,temp);strcpy(stu.major,temp); p=&stu.age; q=&stu.age; s=*q; *q=*p; *p=s;}}} void insert(){ int i=n,j,flag;printf("请输入待增加的学生数:\n");scanf("%d",&m);do{ flag=1;while(flag){flag=0;printf("请输入第 %d 个学生的学号:\n",i+1);scanf("%s",stu.code);for(j=0;j《i;j++)if(strcmp(stu.code)==0){printf("已有该学号,请检查后重新录入!\n");flag=1;break; }}printf("请输入第 %d 个学生的姓名:\n",i+1);scanf("%s",stu.name);printf("请输入第 %d 个学生的年龄:\n",i+1);scanf("%d",&stu.age);printf("请输入第 %d 个学生的性别:\n",i+1);scanf("%s",stu.sex);printf("请输入第 %d 个学生的出生年月:(格式:年.月)\n",i+1);scanf("%s",stu.time);printf("请输入第 %d 个学生的地址:\n",i+1);scanf("%s",stu.add);printf("请输入第 %d 个学生的宿舍:\n",i+1);scanf("%s",stu.dorm);printf("请输入第 %d 个学生的班级:\n",i+1);scanf("%s",stu.classes);printf("请输入第 %d 个学生的专业:\n",i+1);scanf("%s",stu.major);if(flag==0){ i=i;i++;}}while(i《n+m);n+=m;printf("录入完毕!\n\n");sort();} void del(){int i,j,flag=0;char s1;printf("请输入要删除学生的学号:\n");scanf("%s",s1);for(i=0;i《n;i++)if(strcmp(stu.code,s1)==0){ flag=1;for(j=i;j《n-1;j++)stu;}if(flag==0)printf("该学号不存在!\n");if(flag==1){printf("删除成功,显示结果请选择菜单6\n");n--;}} void display(){ int i;printf("所有学生的信息为:\n");printf("学生学号 学生姓名 年龄 性别 出生年月 地址 宿舍 班级 专业\n");printf("--------------------------------------------------------------------\n");for(i=0;i《n;i++){ printf("%6s %7s %5d %5s %9s %8s %10s %10s %10s\n",stu.age,stu.major);}} void save(){int i;FILE *fp;fp=fopen("student.txt","w"); for(i=0;i《n;i++){fprintf(fp,"%s %s %d %s %s %s %s %s %s\n",stu.age,stu.major);}fclose(fp);} void menu(){int num;printf(" 学生信息管理系统\n"); printf("╔═════════════════════════════╗\n"); printf("║ 欢迎使用!! ║\n"); printf("║┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈║\n"); printf("║ 0.系统帮助及说明 1.刷新学生信息 ║\n"); printf("║ 2.查询学生信息 3.修改学生信息 ║\n"); printf("║ 4.增加学生信息 5.删除学生信息 ║\n"); printf("║ 6.显示当前信息 7.保存学生信息 ║\n"); printf("║ 8.修改密码 9.退出系统 ║\n"); printf("║┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈║\n"); printf("╚═════════════════════════════╝\n");printf("请选择菜单编号:");scanf("%d",#);switch(num){ case 0:help();break;case 1:readfile();break;case 2:seek();break;case 3:key_2();break;case 4:insert();break;case 5:del();break;case 6:display();break;case 7:save();break;case 8:change_key2();break;case 9:k=0;break;default:printf("请在0-9之间选择\n");}}

C语言程序设计——课程设计——通讯录管理系统

/*10.3.2源程序*/ /******头文件(.h)***********/ #include "stdio.h" /*I/O函数*/ #include "stdlib.h" /*标准库函数*/ #include "string.h"/*字符串函数*/ #include "ctype.h" /*字符操作函数*/ #define M 50 /*定义常数表示记录数*/ typedef struct /*定义数据结构*/ { char name; /*姓名*/ char units; /*单位*/ char tele; /*电话*/ }ADDRESS; /******以下是函数原型*******/ int enter(ADDRESS t); /*输入记录*/ void list(ADDRESS t,int n); /*显示记录*/ void search(ADDRESS t,int n); /*按姓名查找显示记录*/ int delete(ADDRESS t,int n); /*删除记录*/ int add(ADDRESS t,int n); /*插入记录*/ void save(ADDRESS t,int n); /*记录保存为文件*/ int load(ADDRESS t); /*从文件中读记录*/ void display(ADDRESS t); /*按序号查找显示记录*/ void sort(ADDRESS t,int n); /*按姓名排序*/ void qseek(ADDRESS t,int n); /*快速查找记录*/ void copy(); /*文件复制*/ void print(ADDRESS temp); /*显示单条记录*/ int find(ADDRESS t,int n,char *s) ; /*查找函数*/ int menu_select(); /*主菜单函数*/ /******主函数开始*******/ main() { int i; ADDRESS adr; /*定义结构体数组*/ int length; /*保存记录长度*/ clrscr(); /*清屏*/ for(;;)/*无限循环*/ { switch(menu_select()) /*调用主菜单函数,返回值整数作开关语句的条件*/ { case 0:length=enter(adr);break;/*输入记录*/ case 1:list(adr,length);break; /*显示全部记录*/ case 2:search(adr,length);break; /*查找记录*/ case 3:length=delete(adr,length);break; /*删除记录*/ case 4:length=add(adr,length); break; /*插入记录*/ case 5:save(adr,length);break; /*保存文件*/ case 6:length=load(adr); break; /*读文件*/ case 7:display(adr);break; /*按序号显示记录*/ case 8:sort(adr,length);break; /*按姓名排序*/ case 9:qseek(adr,length);break; /*快速查找记录*/ case 10:copy();break; /*复制文件*/ case 11:exit(0); /*如返回值为11则程序结束*/ } } } /*菜单函数,函数返回值为整数,代表所选的菜单项*/ menu_select() { char s; int c; gotoxy(1,25);/*将光标定为在第25行,第1列*/ printf("press any key enter menu......\n");/*提示压任意键继续*/ getch(); /*读入任意字符*/ clrscr(); /*清屏*/ gotoxy(1,1); printf("********************MENU*********************\n\n"); printf(" 0. Enter record\n"); printf(" 1. List the file\n"); printf(" 2. Search record on name\n"); printf(" 3. Delete a record\n"); printf(" 4. add record \n"); printf(" 5. Save the file\n"); printf(" 6. Load the file\n"); printf(" 7. display record on order\n"); printf(" 8. sort to make new file\n"); printf(" 9. Quick seek record\n"); printf(" 10. copy the file to new file\n"); printf(" 11. Quit\n"); printf("***********************************************\n"); do{ printf("\n Enter you choice(0~11):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/ c=atoi(s); /*将输入的字符串转化为整型数*/ }while(c《0||c》11); /*选择项不在0~11之间重输*/ return c; /*返回选择项,主程序根据该数调用相应的函数*/ } /***输入记录,形参为结构体数组,函数值返回类型为整型表示记录长度*/ int enter(ADDRESS t) { int i,n; char *s; clrscr(); /*清屏*/ printf("\nplease input num \n"); /*提示信息*/ scanf("%d",&n); /*输入记录数*/ printf("please input record \n"); /*提示输入记录*/ printf("name unit telephone\n"); printf("------------------------------------------------\n"); for(i=0;i《n;i++) { scanf("%s%s%s",t.tele); /*输入记录*/ printf("----------------------------------------------\n"); } return n; /*返回记录条数*/ } /*显示记录,参数为记录数组和记录条数*/ void list(ADDRESS t,int n) { int i; clrscr(); printf("\n\n*******************ADDRESS******************\n"); printf("name unit telephone\n"); printf("------------------------------------------------\n"); for(i=0;i《n;i++) printf("%-20s%-30s%-10s\n",t.tele); if((i+1)%10==0) /*判断输出是否达到10条记录*/ { printf("Press any key continue...\n"); /*提示信息*/ getch(); /*压任意键继续*/ } printf("************************end*******************\n"); } /*查找记录*/ void search(ADDRESS t,int n) { char s; /*保存待查找姓名字符串*/ int i; /*保存查找到结点的序号*/ clrscr(); /*清屏*/ printf("please search name\n"); scanf("%s",s); /*输入待查找姓名*/ i=find(t,n,s); /*调用find函数,得到一个整数*/ if(i》n-1) /*如果整数i值大于n-1,说明没找到*/ printf("not found\n"); else print(t); /*找到,调用显示函数显示记录*/ } /*显示指定的一条记录*/ void print(ADDRESS temp) { clrscr(); printf("\n\n********************************************\n"); printf("name unit telephone\n"); printf("------------------------------------------------\n"); printf("%-20s%-30s%-10s\n",temp.name,temp.units,temp.tele); printf("**********************end***********************\n"); } /*查找函数,参数为记录数组和记录条数以及姓名s */ int find(ADDRESS t,int n,char *s) { int i; for(i=0;i《n;i++)/*从第一条记录开始,直到最后一条*/ { if(strcmp(s,t.name)==0) /*记录中的姓名和待比较的姓名是否相等*/ return i; /*相等,则返回该记录的下标号,程序提前结结束*/ } return i; /*返回i值*/ } /*删除函数,参数为记录数组和记录条数*/ int delete(ADDRESS t,int n) { char s; /*要删除记录的姓名*/ int ch=0; int i,j; printf("please deleted name\n"); /*提示信息*/ scanf("%s",s);/*输入姓名*/ i=find(t,n,s); /*调用find函数*/ if(i》n-1) /*如果i》n-1超过了数组的长度*/ printf("no found not deleted\n"); /*显示没找到要删除的记录*/ else { print(t); /*调用输出函数显示该条记录信息*/ printf("Are you sure delete it(1/0)\n"); /*确认是否要删除*/ scanf("%d",&ch); /*输入一个整数0或1*/ if(ch==1) /*如果确认删除整数为1*/ { for(j=i+1;j《n;j++) /*删除该记录,实际后续记录前移*/ { strcpy(t.name); /*将后一条记录的姓名拷贝到前一条*/ strcpy(t.units); /*将后一条记录的单位拷贝到前一条*/ strcpy(t.tele); /*将后一条记录的电话拷贝到前一条*/ } n--; /*记录数减1*/ } } return n; /*返回记录数*/ } /*插入记录函数,参数为结构体数组和记录数*/ int add(ADDRESS t,int n)/*插入函数,参数为结构体数组和记录数*/ { ADDRESS temp; /*新插入记录信息*/ int i,j; char s; /*确定插入在哪个记录之前*/ printf("please input record\n"); printf("************************************************\n"); printf("name unit telephone\n"); printf("--------------------------------------------------\n"); scanf("%s%s%s",temp.name,temp.units,temp.tele); /*输入插入信息*/ printf("------------------------------------------------\n"); printf("please input locate name \n"); scanf("%s",s); /*输入插入位置的姓名*/ i=find(t,n,s); /*调用find,确定插入位置*/ for(j=n-1;j》=i;j--) /*从最后一个结点开始向后移动一条*/ { strcpy(t.name); /*当前记录的姓名拷贝到后一条*/ strcpy(t.units); /*当前记录的单位拷贝到后一条*/ strcpy(t.tele); /*当前记录的电话拷贝到后一条*/ } strcpy(t.name,temp.name); /*将新插入记录的姓名拷贝到第i个位置*/ strcpy(t.units,temp.units); /*将新插入记录的单位拷贝到第i个位置*/ strcpy(t.tele,temp.tele); /*将新插入记录的电话拷贝到第i个位置*/ n++; /*记录数加1*/ return n; /*返回记录数*/ } /*保存函数,参数为结构体数组和记录数*/ void save(ADDRESS t,int n) { int i; FILE *fp; /*指向文件的指针*/ if((fp=fopen("record.txt","wb"))==NULL) /*打开文件,并判断打开是否正常*/ { printf("can not open file\n");/*没打开*/ exit(1); /*退出*/ } printf("\nSaving file\n"); /*输出提示信息*/ fprintf(fp,"%d",n); /*将记录数写入文件*/ fprintf(fp,"\r\n"); /*将换行符号写入文件*/ for(i=0;i《n;i++) { fprintf(fp,"%-20s%-30s%-10s",t.tele);/*格式写入记录*/ fprintf(fp,"\r\n"); /*将换行符号写入文件*/ } fclose(fp);/*关闭文件*/ printf("****save success***\n"); /*显示保存成功*/ } /*读入函数,参数为结构体数组*/ int load(ADDRESS t) { int i,n; FILE *fp; /*指向文件的指针*/ if((fp=fopen("record.txt","rb"))==NULL)/*打开文件*/ { printf("can not open file\n"); /*不能打开*/ exit(1); /*退出*/ } fscanf(fp,"%d",&n); /*读入记录数*/ for(i=0;i《n;i++) fscanf(fp,"%20s%30s%10s",t.tele); /*按格式读入记录*/ fclose(fp); /*关闭文件*/ printf("You have success read data from file!!!\n"); /*显示保存成功*/ return n; /*返回记录数*/ } /*按序号显示记录函数*/ void display(ADDRESS t) { int id,n; FILE *fp; /*指向文件的指针*/ if((fp=fopen("record.txt","rb"))==NULL) /*打开文件*/ { printf("can not open file\n"); /*不能打开文件*/ exit(1); /*退出*/ } printf("Enter order number...\n"); /*显示信息*/ scanf("%d",&id); /*输入序号*/ fscanf(fp,"%d",&n); /*从文件读入记录数*/ if(id》=0&&id《n) /*判断序号是否在记录范围内*/ { fseek(fp,(id-1)*sizeof(ADDRESS),1); /*移动文件指针到该记录位置*/ print(t); /*调用输出函数显示该记录*/ printf("\r\n"); } else printf("no %d number record!!!\n ",id); /*如果序号不合理显示信息*/ fclose(fp); /*关闭文件*/ } /*排序函数,参数为结构体数组和记录数*/ void sort(ADDRESS t,int n) { int i,j,flag; ADDRESS temp; /*临时变量做交换数据用*/ for(i=0;i《n;i++) { flag=0; /*设标志判断是否发生过交换*/ for(j=0;j《n-1;j++) if((strcmp(t.name))》0) /*比较大小*/ { flag=1; strcpy(temp.name,t.name); /*交换记录*/ strcpy(temp.units,t.units); strcpy(temp.tele,t.tele); strcpy(t.name); strcpy(t.units); strcpy(t.tele); strcpy(t.name,temp.name); strcpy(t.units,temp.units); strcpy(t.tele,temp.tele); } if(flag==0)break; /*如果标志为0,说明没有发生过交换循环结束*/ } printf("sort sucess!!!\n"); /*显示排序成功*/ } /*快速查找,参数为结构体数组和记录数*/ void qseek(ADDRESS t,int n) { char s; int l,r,m; printf("\nPlease sort before qseek!\n"); /*提示确认在查找之前,记录是否已排序*/ printf("please enter name for qseek\n"); /*提示输入*/ scanf("%s",s); /*输入待查找的姓名*/ l=0;r=n-1; /*设置左边界与右边界的初值*/ while(l《=r) /*当左边界《=右边界时*/ { m=(l+r)/2; /*计算中间位置*/ if(strcmp(t.name,s)==0) /*与中间结点姓名字段做比较判是否相等*/ { print(t); /*如果相等,则调用print函数显示记录信息*/ return ; /*返回*/ } if(strcmp(t.name,s)《0) /*如果中间结点小*/ l=m+1; /*修改左边界*/ else r=m-1; /*否则,中间结点大,修改右边界*/ } if(l》r) /*如果左边界大于右边界时*/ printf("not found\n"); /*显示没找到*/ } /*复制文件*/ void copy() { char outfile; /*目标文件名*/ int i,n; ADDRESS temp; /*定义临时变量*/ FILE *sfp,*tfp; /*定义指向文件的指针*/ clrscr();/*清屏*/ if((sfp=fopen("record.txt","rb"))==NULL) /*打开记录文件*/ { printf("can not open file\n"); /*显示不能打开文件信息*/ exit(1); /*退出*/ } printf("Enter outfile name,for example c:\\f1\\te.txt:\n"); /*提示信息*/ scanf("%s",outfile); /*输入目标文件名*/ if((tfp=fopen(outfile,"wb"))==NULL) /*打开目标文件*/ { printf("can not open file\n"); /*显示不能打开文件信息*/ exit(1); /*退出*/ } fscanf(sfp,"%d",&n); /*读出文件记录数*/ fprintf(tfp,"%d",n);/*写入目标文件数*/ fprintf(tfp,"\r\n"); /*写入换行符*/ for(i=0;i《n;i++) { fscanf(sfp,"%20s%30s%10s\n",temp.units, temp.tele); /*读入记录*/ fprintf(tfp,"%-20s%-30s%-10s\n",temp.name, temp.tele); /*写入记录*/ fprintf(tfp,"\r\n"); /*写入换行符*/ } fclose(sfp); /*关闭源文件*/ fclose(tfp); /*关闭目标文件*/ printf("you have success copy file!!!\n"); /*显示复制成功*/ }

C语言课程设计

/******头文件(.h)***********/#include "stdio.h" /*I/O函数*/#include "stdlib.h" /*标准库函数*/#include "string.h"/*字符串函数*/#include "ctype.h" /*字符操作函数*/#include "conio.h" /*控制台输入输出函数 */ #define M 50 /*定义常数表示记录数*/typedef struct /*定义数据结构*/{ char name; /*姓名*/ char units; /*单位*/ char tele; /*电话*/ char m_ph; //手机 char rela; //关系 char email; //邮箱 char qq; //qq }ADDRESS;/******以下是函数原型*******/int enter(ADDRESS t); /*输入记录*/void list(ADDRESS t,int n); /*显示记录*/void search(ADDRESS t,int n); /*按姓名查找显示记录*/int Delete(ADDRESS t,int n); /*删除记录*/int add(ADDRESS t,int n); /*插入记录*/void save(ADDRESS t,int n); /*记录保存为文件*/int load(ADDRESS t); /*从文件中读记录*/void display(ADDRESS t); /*按序号查找显示记录*/void sort(ADDRESS t,int n); /*按姓名排序*/void qseek(ADDRESS t,int n); /*快速查找记录*/void print(ADDRESS temp); /*显示单条记录*/int find(ADDRESS t,int n,char *s) ; /*查找函数*/int menu_select(); /*主菜单函数*//******主函数开始*******/main(){ system("color 37");//背景色为浅绿,前景色为白色 printf(" 欢迎使用通讯录管理系统\n");//欢迎界面 int i; ADDRESS adr; /*定义结构体数组*/ int length; /*保存记录长度*/ for(;;)/*无限循环*/ { switch(menu_select()) /*调用主菜单函数,返回值整数作开关语句的条件*/ { case 0:length=enter(adr);break;/*输入记录*/ case 1:list(adr,length);break; /*显示全部记录*/ case 2:search(adr,length);break; /*查找记录*/ case 3:length=Delete(adr,length);break; /*删除记录*/ case 4:length=add(adr,length); break; /*插入记录*/ case 5:save(adr,length);break; /*保存文件*/ case 6:length=load(adr); break; /*读文件*/ case 7:display(adr);break; /*按序号显示记录*/ case 8:sort(adr,length);break; /*按姓名排序*/ case 9:qseek(adr,length);break; /*快速查找记录*/ case 10:exit(0); /*如返回值为10则程序结束*/ } }}/*菜单函数,函数返回值为整数,代表所选的菜单项*/int menu_select(){ char s; int c; printf("按任意键进入菜单......\n");/*提示按任意键继续*/ getch(); /*读入任意字符*/ system("cls"); /*清屏*/ printf(" ********************菜单***********************\n\n"); printf(" 0. 输入记录\n"); printf(" 1. 显示所有记录\n"); printf(" 2. 按姓名查找记录\n"); printf(" 3. 删除记录\n"); printf(" 4. 添加记录\n"); printf(" 5. 保存文件\n"); printf(" 6. 载入文件\n"); printf(" 7. 按序号显示记录\n"); printf(" 8. 记录排序\n"); printf(" 9. 查找记录\n"); printf(" 10. 退出\n"); printf(" ***********************************************\n"); do { printf("\n 请输入选项(0~10):"); /*提示输入选项*/ scanf("%d",&c);/*输入选择项*/ fflush(stdin); }while(c《0 || c》10);/*选择项不在0~10之间重输*/ return c; /*返回选择项,主程序根据该数调用相应的函数*/}/***输入记录,形参为结构体数组,函数值返回类型为整型表示记录长度*/int enter(ADDRESS t){ int i,n; char num; system("cls"); /*清屏*/ int flag=1; for(;;) { flag = 1; system("cls"); /*清屏*/ printf("\n请输入记录数:\n"); /*提示信息*/ scanf("%s", #); /*输入记录数*/ fflush(stdin); for(int nima = 0; num; nima++) { if (num 》 57) { flag = 0; break; } } if(flag==1) break; } n=atoi(num); printf("请输入记录:\n"); /*提示输入记录*/ printf("姓名 单位 电话 手机 关系 邮箱 QQ\n"); printf("--------------------------------------------------------------------------\n"); for(i=0;i《n;i++) { scanf("%s%s%s%s%s%s%s",t.qq); /*输入记录*/ fflush(stdin); for(int k=0;k《=19;k++) { if((t《=’Z’)) { printf("电话输入错误!请重新输入联系人信息\n"); i--; break; } if((t《=’Z’)) { printf("手机输入错误!请重新输入联系人信息\n"); i--; break; } if((t《=’Z’)) { printf("QQ输入错误!请重新输入联系人信息\n"); i--; break; } } printf("--------------------------------------------------------------------------\n"); } return n; /*返回记录条数*/}/*显示记录,参数为记录数组和记录条数*/void list(ADDRESS t,int n){ int i; system("cls"); /*清屏*/ printf("\n\n************************************************************************\n"); printf("姓名 单位 电话 手机 关系 邮箱 QQ\n"); printf("--------------------------------------------------------------------------\n"); for(i=0;i《n;i++) printf("%-10s%-14s%-12s%-12s%-10s%-12s%-14s\n",t.qq); if((i+1)%10==0) /*判断输出是否达到10条记录*/ { printf("按任意键显示下一页\n"); /*提示信息*/ getch(); /*按任意键继续*/ } printf("*********************************结束***********************************\n");}/*查找记录*/void search(ADDRESS t,int n){ char s; /*保存待查找姓名字符串*/ int i; /*保存查找到结点的序号*/ system("cls"); /*清屏*/ printf("请输入待查找姓名:\n"); scanf("%s",s); /*输入待查找姓名*/ i=find(t,n,s); /*调用find函数,得到一个整数*/ if(i》n-1) /*如果整数i值大于n-1,说明没找到*/ { printf("未找到!!!\n"); getch(); } else print(t); /*找到,调用显示函数显示记录*/}/*显示指定的一条记录*/void print(ADDRESS temp){ system("cls"); /*清屏*/ printf("\n\n************************************************************************\n"); printf("姓名 单位 电话 手机 关系 邮箱 QQ\n"); printf("--------------------------------------------------------------------------\n"); printf("%-10s%-14s%-12s%-12s%-10s%-12s%-14s\n",temp.name,temp.units,temp.tele,temp.m_ph,temp.rela,temp.email,temp.qq); printf("*********************************结束***********************************\n"); getchar();}/*查找函数,参数为记录数组和记录条数以及姓名s */int find(ADDRESS t,int n,char *s){ int i; system("cls"); /*清屏*/ for(i=0;i《n;i++)/*从第一条记录开始,直到最后一条*/ { if(strcmp(s,t.name)==0) /*记录中的姓名和待比较的姓名是否相等*/ return i; /*相等,则返回该记录的下标号,程序提前结结束*/ } return i; /*返回i值*/ getch();}/*删除函数,参数为记录数组和记录条数*/int Delete(ADDRESS t,int n){ char s; /*要删除记录的姓名*/ char ch; int i,j; system("cls"); /*清屏*/ printf("请输入待删除的姓名:\n"); /*提示信息*/ scanf("%s",s);/*输入姓名*/ i=find(t,n,s); /*调用find函数*/ if(i》n-1) /*如果i》n-1超过了数组的长度*/ printf("未找到!!!\n"); /*显示没找到要删除的记录*/ else { print(t); /*调用输出函数显示该条记录信息*/ printf("确定删除?(Y/N)\n"); /*确认是否要删除*/ scanf("%c",&ch); /*输入一个整数0或1*/ if(ch==’y’ || ch==’Y’) /*如果确认删除输入y*/ { for(j=i+1;j《n;j++) /*删除该记录,实际后续记录前移*/ { strcpy(t.name); /*将后一条记录的姓名拷贝到前一条*/ strcpy(t.units); /*将后一条记录的单位拷贝到前一条*/ strcpy(t.tele); /*将后一条记录的电话拷贝到前一条*/ strcpy(t.m_ph); /*将后一条记录的手机拷贝到前一条*/ strcpy(t.rela); /*将后一条记录的关系拷贝到前一条*/ strcpy(t.email); /*将后一条记录的邮箱拷贝到前一条*/ strcpy(t.qq); /*将后一条记录的qq拷贝到前一条*/ } printf("删除成功!\n"); n--; /*记录数减1*/ } } getch(); return n; /*返回记录数*/}/*插入记录函数,参数为结构体数组和记录数*/int add(ADDRESS t,int n)/*插入函数,参数为结构体数组和记录数*/{ ADDRESS temp; /*新插入记录信息*/ int i,j,flag; char s; /*确定插入在哪个记录之前*/ system("cls"); /*清屏*/ printf("请输入记录:\n"); printf("************************************************************************\n"); printf("姓名 单位 电话 手机 关系 邮箱 QQ\n"); printf("--------------------------------------------------------------------------\n"); scanf("%s%s%s%s%s%s%s",temp.name,temp.units,temp.tele,temp.m_ph,temp.rela,temp.email,temp.qq); /*输入插入信息*/ fflush(stdin); printf("请输入插入位置的姓名: \n"); scanf("%s",s); /*输入插入位置的姓名*/ i=find(t,n,s); /*调用find,确定插入位置*/ for(j=n-1;j》=i;j--) /*从最后一个结点开始向后移动一条*/ { strcpy(t.name); /*当前记录的姓名拷贝到后一条*/ strcpy(t.units); /*当前记录的单位拷贝到后一条*/ strcpy(t.tele); /*当前记录的电话拷贝到后一条*/ strcpy(t.m_ph); /*当前记录的手机拷贝到后一条*/ strcpy(t.rela); /*当前记录的关系拷贝到后一条*/ strcpy(t.email); /*当前记录的邮箱拷贝到后一条*/ strcpy(t.qq); /*当前记录的qq拷贝到后一条*/ } strcpy(t.name,temp.name); /*将新插入记录的姓名拷贝到第i个位置*/ strcpy(t.units,temp.units); /*将新插入记录的单位拷贝到第i个位置*/ strcpy(t.tele,temp.tele); /*将新插入记录的电话拷贝到第i个位置*/ strcpy(t.m_ph,temp.m_ph); /*将新插入记录的手机拷贝到第i个位置*/ strcpy(t.rela,temp.rela); /*将新插入记录的关系拷贝到第i个位置*/ strcpy(t.email,temp.email); /*将新插入记录的邮箱拷贝到第i个位置*/ strcpy(t.qq,temp.qq); /*将新插入记录的qq拷贝到第i个位置*/ n++; /*记录数加1*/ printf("添加成功!!!\n"); getch(); return n; /*返回记录数*/}/*保存函数,参数为结构体数组和记录数*/void save(ADDRESS t,int n){ int i; char outfile; FILE *fp; /*指向文件的指针*/ system("cls"); /*清屏*/ printf("请输入待保存的文件名:\n"); scanf("%s",outfile); if((fp=fopen(outfile,"wb"))==NULL) /*打开文件,并判断打开是否正常*/ { printf("无法打开文件!\n");/*无法打开*/ exit(1); /*退出*/ } printf("\n保存文件...\n"); /*输出提示信息*/ fprintf(fp,"%d",n); /*将记录数写入文件*/ fprintf(fp,"\r\n"); /*将换行符号写入文件*/ for(i=0;i《n;i++) { fprintf(fp,"%-10s%-14s%-12s%-12s%-10s%-12s%-14s\n",t.qq);/*格式写入记录*/ fprintf(fp,"\r\n"); /*将换行符号写入文件*/ } fclose(fp);/*关闭文件*/ printf("****保存成功!****\n"); /*显示保存成功*/ getch();}/*载入函数,参数为结构体数组*/int load(ADDRESS t){ int i,n; char outfile; FILE *fp; /*指向文件的指针*/ system("cls"); /*清屏*/ printf("请输入待载入的文件名:\n"); scanf("%s",outfile); if((fp=fopen(outfile,"rb"))==NULL)/*打开文件*/ { printf("无法打开文件!\n"); /*不能打开*/ exit(1); /*退出*/ } fscanf(fp,"%d",&n); /*读入记录数*/ for(i=0;i《n;i++) fscanf(fp,"%10s%14s%12s%12s%10s%12s%14s",t.tele, t.qq); /*按格式读入记录*/ fclose(fp); /*关闭文件*/ printf("从文件读入数据成功!!!\n"); /*显示保存成功*/ getch(); return n; /*返回记录数*/ }/*按序号显示记录函数*/void display(ADDRESS t){ int id,n; char outfile; FILE *fp; /*指向文件的指针*/ system("cls"); /*清屏*/ printf("请输入待载入的文件名:"); scanf("%s",outfile); if((fp=fopen(outfile,"rb"))==NULL) /*打开文件*/ { printf("无法打开文件!\n"); /*不能打开文件*/ exit(1); /*退出*/ } printf("请输入记录序号:\n"); /*显示信息*/ scanf("%d",&id); /*输入序号*/ fscanf(fp,"%d",&n); /*从文件读入记录数*/ if(id》=0&&id《n) /*判断序号是否在记录范围内*/ { fseek(fp,(id-1)*sizeof(ADDRESS),1); /*移动文件指针到该记录位置*/ print(t); /*调用输出函数显示该记录*/ printf("\r\n"); } else { printf(" %d号记录不存在!!!\n ",id); /*如果序号不合理显示信息*/ getch(); } fclose(fp); /*关闭文件*/}/*排序函数,参数为结构体数组和记录数*/void sort(ADDRESS t,int n){ int i,j,flag; system("cls"); /*清屏*/ ADDRESS temp; /*临时变量做交换数据用*/ for(i=0;i《n;i++) { flag=0; /*设标志判断是否发生过交换*/ for(j=0;j《n-1;j++) if((strcmp(t.name))》0) /*比较大小*/ { flag=1; strcpy(temp.name,t.name); /*交换记录*/ strcpy(temp.units,t.units); strcpy(temp.tele,t.tele); strcpy(temp.m_ph,t.m_ph); strcpy(temp.rela,t.rela); strcpy(temp.email,t.email); strcpy(temp.qq,t.qq); strcpy(t.name); strcpy(t.units); strcpy(t.tele); strcpy(t.m_ph); strcpy(t.rela); strcpy(t.email); strcpy(t.qq); strcpy(t.name,temp.name); strcpy(t.units,temp.units); strcpy(t.tele,temp.tele); strcpy(t.m_ph,temp.m_ph); strcpy(t.rela,temp.rela); strcpy(t.email,temp.email); strcpy(t.qq,temp.qq); } if(flag==0)break; /*如果标志为0,说明没有发生过交换循环结束*/ } printf("排序成功!!!\n"); /*显示排序成功*/}/*快速查找,参数为结构体数组和记录数*/void qseek(ADDRESS t,int n){ char s; int l,r,m; system("cls"); /*清屏*/ printf("\n请在查找前排序!\n"); /*提示确认在查找之前,记录是否已排序*/ printf("请输入待查找的姓名:\n"); /*提示输入*/ scanf("%s",s); /*输入待查找的姓名*/ l=0;r=n-1; /*设置左边界与右边界的初值*/ while(l《=r) /*当左边界《=右边界时*/ { m=(l+r)/2; /*计算中间位置*/ if(strcmp(t.name,s)==0) /*与中间结点姓名字段做比较判是否相等*/ { print(t); /*如果相等,则调用print函数显示记录信息*/ return ; /*返回*/ } if(strcmp(t.name,s)《0) /*如果中间结点小*/ l=m+1; /*修改左边界*/ else r=m-1; /*否则,中间结点大,修改右边界*/ } if(l》r) /*如果左边界大于右边界时*/ printf("未找到!\n"); /*显示没找到*/ getch();}

c语言程序设计编程题目:请 :编写完成对学生相关信息的要求:1.定义一个结构体类型student,其中包括三个成

#include 《stdio.h》#include 《stdlib.h》#define STU_NUM 10 /*宏定义学生的数量*/struct student /*定义一个结构体用来存放学生学号、三门课成绩、总分及平均成绩*/{char stu_id; /*学生学号;*/float score; /*三门课成绩;*/float total; /*总成绩;*/float aver; /*平均成绩;*/};/*排序用一个函数来实现*/void SortScore(student *stu,int n){student stud;for(int i = 0; i 《 n-1; i++)for(int j = i+1 ; j 《 n; j++){if(stu.total){stud = stu;stu;stu = stud;}}}int main( ){student stu; /*创建结构体数组中有10个元素,分别用来保存这10个人的相关信息。*//*输入这十个学生的相关信息*/for(int i = 0; i《STU_NUM; i++){printf("请输入第%d个学生的学号:",i+1);scanf("%s",&stu.stu_id);printf("输入第%d个学生的数学成绩:",i+1);scanf("%f",&stu);printf("输入第%d个学生的英语成绩:",i+1);scanf("%f",&stu);printf("输入第%d个学生的计算机成绩:",i+1);scanf("%f",&stu);stu;stu.total/3;}printf("\n");SortScore(stu,STU_NUM);/*调用排序函数*//*输出排序后的各学生的成绩*/for(i = 0 ; i 《 STU_NUM; i++){printf("序号: %d\t",i);printf("学号:%s\t",stu.stu_id);printf("数学:%f\t",stu);printf("英语:%f\t",stu);printf("计算机:%f\t",stu);printf("平均成绩:%f\t",stu.aver);printf("总分:%f\t",stu.total);printf("\n\n");}return 0;}注:(源程序中主要标识符含义说明)#define STU_NUM 10 /*宏定义学生的数量*/struct student /*定义一个结构体用来存放学生学号、三门课成绩、总分及平均成绩*/{char stu_id; /*学生学号;*/float score; /*三门课成绩;*/float total; /*总成绩;*/float aver; /*平均成绩;*/}

C语言课程设计 题目11:基于结构体数组的学生成绩管理系统

#include /*引用库函数*/ #include #include #include typedef struct /*定义结构体数组*/ { char num; /*学号*/ char name; /*姓名*/ int score; /*成绩*/ }Student; Student stu; /*结构体数组变量*/ int menu_select() /*菜单函数*/ { char c; do{ system("cls"); /*运行前清屏*/ printf("\t\t****Students’ Grade Management System****\n"); /*菜单选择*/ printf("\t\t | 1. Input Records |\n"); printf("\t\t | 2. Display All Records |\n"); printf("\t\t | 3. Sort |\n"); printf("\t\t | 4. Insert a Record |\n"); printf("\t\t | 5. Delete a Record |\n"); printf("\t\t | 6. Query |\n"); printf("\t\t | 7. Statistic |\n"); printf("\t\t | 8. Add Records from a Text File|\n"); printf("\t\t | 9. Write to a Text file |\n"); printf("\t\t | 0. Quit |\n"); printf("\t\t*****************************************\n"); printf("\t\t\tGive your Choice(0-9):"); c=getchar(); /*读入选择*/ }while(c’9’); return(c-’0’); /*返回选择*/ } int Input(Student stud,int n) /*输入若干条记录*/ {int i=0; char sign,x.score); gets(x); /*清除多余的输入*/ printf("\t\t\tany more records?(Y/N)"); scanf("\t\t\t%c",&sign); /*输入判断*/ i++; } return(n+i); } void Display(Student stud,int n) /*显示所有记录*/ { int i; printf("\t\t\t-----------------------------------\n"); /*格式头*/ printf("\t\t\tnumber name score\n"); printf("\t\t\t-----------------------------------\n"); for(i=1;i《n+1;i++) /*循环输入*/ { printf("\t\t\t%-16s%-15s%d\n",stud.score); if(i》1&&i%10==0) /*每十个暂停*/ {printf("\t\t\t-----------------------------------\n"); /*格式*/ printf("\t\t\t"); system("pause"); printf("\t\t\t-----------------------------------\n"); } } printf("\t\t\t"); system("pause"); } void Sort_by_num(Student stud,int n) /*按学号排序*/ { int i,j,*p,*q,s; char t; for(i=0;i《n-1;i++) /*冒泡法排序*/ for(j=0;j《n-1-i;j++) if(strcmp(stud.num)》0) {strcpy(t,stud.score; s=*p; *p=*q; *q=s; } } int Insert_a_record(Student stud,int n) /*插入一条记录*/ {char x.score); gets(x); n++; Sort_by_num(stud,n); /*调用排序函数*/ printf("\t\t\tInsert Successed!\n"); /*返回成功信息*/ return(n); } int Delete_a_record(Student stud,int n) /*按姓名查找,删除一条记录*/ { char s; int i=0,j; printf("\t\t\ttell me his(her) name:"); /*交互式问寻*/ scanf("%s",s); while(strcmp(stud.name,s)!=0&&i《n) i++; /*查找判断*/ if(i==n) { printf("\t\t\tnot find!\n"); /*返回失败信息*/ return(n); } for(j=i;j《n-1;j++) /*删除操作*/ { strcpy(stud.num); strcpy(stud.name); stud.score; } printf("\t\t\tDelete Successed!\n"); /*返回成功信息*/ return(n-1); } void Query_a_record(Student stud,int n) /*查找并显示一个记录*/ { char s; int i=0; printf("\t\t\tinput his(her) name:"); /*交互式输入*/ scanf("\t\t\t%s",s); while(strcmp(stud.name,s)!=0&&i《n) i++; /*查找判断*/ if(i==n) { printf("\t\t\tnot find!\n"); /*输入失败信息*/ return; } printf("\t\t\this(her) number:%s\n",stud.num); /*输出该学生信息*/ printf("\t\t\this(her) score:%d\n",stud.score); } void Statistic(Student stud,int n) /*新增功能,输出统计信息*/ { int i,j=0,k=0,sum=0; float aver; /*成绩平均值*/ for(i=0;i《n;i++) /*循环输入判断*/ { sum+=stud.score; if(stud.score) j=i; if(stud.score) k=i; } aver=1.0*sum/n; printf("\t\t\tthere are %d records.\n",n); /*总共记录数*/ printf("\t\t\tthe hignest score:\n"); /*最高分*/ printf("\t\t\tnumber:%s name:%s score:%d\n",stud.score); printf("\t\t\tthe lowest score:\n"); /*最低分*/ printf("\t\t\tnumber:%s name:%s score:%d\n",stud.score); printf("\t\t\tthe average score is %5.2f\n",aver); /*平均分*/ } int AddfromText(Student stud,int n) /*从文件中读入数据*/ { int i=0,num; FILE *fp; /*定义文件指针*/ char filename; /*定义文件名*/ printf("\t\t\tInput the filename:"); scanf("\t\t\t%s",filename); /*输入文件名*/ if((fp=fopen(filename,"rb"))==NULL) /*打开文件*/ { printf("\t\t\tcann’t open the file\n"); /*打开失败信息*/ printf("\t\t\t"); system("pause"); return(n); } fscanf(fp,"%d",#); /*读入总记录量*/ while(i《num) /*循环读入数据*/ { fscanf(fp,"%s%s%d",stud.score); i++; } n+=num; fclose(fp); /*关闭文件*/ printf("\t\t\tSuccessed!\n"); printf("\t\t\t"); system("pause"); return(n); } void WritetoText(Student stud,int n) /*将所有记录写入文件*/ { int i=0; FILE *fp; /*定义文件指针*/ char filename; /*定义文件名*/ printf("\t\t\tWrite Records to a Text File\n"); /*输入文件名*/ printf("\t\t\tInput the filename:"); scanf("\t\t\t%s",filename); if((fp=fopen(filename,"w"))==NULL) /*打开文件*/ { printf("\t\t\tcann’t open the file\n"); system("pause"); return; } fprintf(fp,"%d\n",n); /*循环写入数据*/ while(i《n) { fprintf(fp,"%-16s%-15s%d\n",stud.score); i++; } fclose(fp); /*关闭文件*/ printf("Successed!\n"); /*返回成功信息*/ } void main() /*主函数*/ { int n=0; for(;;) { switch(menu_select()) /*选择判断*/ { case 1: printf("\t\t\tInput Records\n"); /*输入若干条记录*/ n=Input(stu,n); break; case 2: printf("\t\t\tDisplay All Records\n"); /*显示所有记录*/ Display(stu,n); break; case 3: printf("\t\t\tSort\n"); Sort_by_num(stu,n); /*按学号排序*/ printf("\t\t\tSort Suceessed!\n"); printf("\t\t\t"); system("pause"); break; case 4: printf("\t\t\tInsert a Record\n"); n=Insert_a_record(stu,n); /*插入一条记录*/ printf("\t\t\t"); system("pause"); break; case 5: printf("\t\t\tDelete a Record\n"); n=Delete_a_record(stu,n); /*按姓名查找,删除一条记录*/ printf("\t\t\t"); system("pause"); break; case 6: printf("\t\t\tQuery\n"); Query_a_record(stu,n); /*查找并显示一个记录*/ printf("\t\t\t"); system("pause"); break; case 7: printf("\t\t\tStatistic\n"); Statistic(stu,n); /*新增功能,输出统计信息*/ printf("\t\t\t"); system("pause"); break; case 8: printf("\t\t\tAdd Records from a Text File\n"); n=AddfromText(stu,n); /*新增功能,输出统计信息*/ break; case 9: printf("\t\t\tWrite to a Text file\n"); WritetoText(stu,n); /*循环写入数据*/ printf("\t\t\t"); system("pause"); break; case 0: printf("\t\t\tHave a Good Luck,Bye-bye!\n"); /*结束程序*/ printf("\t\t\t"); system("pause"); exit(0); } } }

c语言课程设计 图书管理系统

高级语言程序设计(2)课程设计   一 程序设计说明书【设计题目】 图书馆借阅管理【问题描述】图书馆,适合用C++面向对象的功能来描述。图书馆管理系统分为借书、还书、图书管理和读者服务等四个部分。设计一个读者类Reader,记录每个读者基本信息;读者库类Rdatabase,记录所有读者信息;图书类Book, 记录每本书的基本信息;图书库类Bdatabase, 记录所有图书信息。【基本要求】1读者库类RDatabase中,其构造函数中,将read.txt文件中所有读入读者记录rede中的所有未删记录写入到read.txt中。2图书库类BDatabase中,其构造函数中,将book.txt文件中所有读入图书记录book中的所有未删记录写入到book.txt中。3 利用构造函数完成读者和图书数据初始化,完成内存分配。程序结束前,析构函数完成所申请的堆内存空间。4 编写主函数,对所编写的矩阵类进行全面测试。要求用户界面采用菜单方式。测试中需要读者和图书数据通过I/O流从磁盘文件读入,同时显示在屏幕上。得到的数据通过I/O流写入磁盘文件保存,同时显示在屏幕上。5 源程序中要有充分的注释,报告中要有详细的流程图和文字材料。【类的设计】该程序包含了四个类,如下:1.Reader类,有读者的基本管理功能,具有以下私有数据:int tag;//删除标记 1:已删;0:未删int no;//读者编号char name;//读者姓名int borbook;//所借图书2.读者库类Rdatabase, 具有以下私有数据:int top;//读者记录指针Reader read;//读者记录3.图书库类Book,有一本图书的基本功能,有以下私有数据:int tag;//删除标记 1:已删;0:未删int no;//图书编号char name;//书名int onshelf;//是否在架 1在架 0已借4.图书库类BDatabase,有以下私有数据:int top;//图书记录指针Book book;//图书记录【特殊函数的设计说明】构造函数1.Reader类中构造函数Reader(),初始化函数;2.读者库类RDatabase中,其构造函数Rdatabase(),将read.txt文件中所有读入读者记录rede中。3.Book类中构造函数Book(),初始化函数;4.图书库类BDatabase中,其构造函数中,将book.txt文件中所有读入图书记录book中。 拷贝构造函数Reader类中的拷贝构造函数将getname()的返回值读者姓名拷贝到setname()中,Book类中的拷贝构造函数将getname()函数的返回值图书名拷贝到图书名设置函数setname()中。 析构函数1.读者库类RDatabase中,其析构函数~Rdatabase(),将read中的所有未删记录写入到read.txt中;2.图书库类BDatabase中,其析构函数~Bdatabase(),将book中的所有未删记录写入到book.txt中。 运算符重载重载了“=”,当比较读者编号和图书编号时,重载;重载位运算符“〈〈”和“〉〉”等。 【主要函数算法流程图】 【程序的使用方法】1.进入操作页面,按提示操作;2.首先,新增图书和读者信息,之后就可以对以存在的信息进行操作;3.操作当中,可以随时增加,更改和删除图书或读者信息;4.当选择退出时,进行清屏。 二 程序上机调试报告【语法错误及其排除】1.在敲程序时,有很多拼写错误,例好多处把Readdata()误打Readdate();结束的分号,在不同的输入法状态下输入,这些小错误刚开始很难发现,不过有了经验,就很容易了。2.创建新的构造函数时,使用出现了错误。重载构造函数要注意函数的访问权限,结果就不会出现错误。【算法错误及其排除】1.读者类中借书操作函数中,采用循环语句时判断读者已借图书量时for(int i=0;i《Maxbor;i++)误写为for(int i=1;i《Maxbor;i++),使循环发生错误。2.指针使用错误,指针b和r混淆,导致编译错误得到“error C2660: ’retbook’ : function does not take 1 parameters”错误报告。三 程序测试结果【收获及体会】除了课堂外,课程设计是最能学到东西的,最考验人的。在做课程设计这段时间,时刻都感觉自己有好多不懂,要学的太多了!经过这次课程设计,让我对C++这门语言有了更深的认识,操作能力有了提高。要想得到敲的代码运行出来后的满足感,需要耐心细心,毅力以及充沛的体力。只有经过多次,多次编译,再多次运行,才能编写出更好的程序,有时候需要多次的更正才达到所要的运行结果。学习编程,需要多揣摩,实践,实践,再实践,编程技能才能更上一层楼,此外还得多向高手请教!【源程序代码】//********************//图书馆借阅管理//班级://学号://姓名://********************#include《iostream.h》#include《iomanip.h》#include《string.h》#include《fstream.h》const int Maxr=1000;//最多的读者const int Maxb=10000;//最多的图书const int Maxbor=8;//每位读者最多借8本书class Reader //读者类{int tag;//删除标记 1已删;0未删int no;//读者编号char name;//读者姓名int borbook;//所借图书public :Reader(){}//构造函数char *getname(){return name;}//获取读者姓名int gettag(){return tag;}//获取删除标记int getno(){return no;}//获取读者编号void setname(char na)//设置读者姓名{strcpy(name,na);}void delbook(){tag=1;}//设置删除标记void addreader(int n,char *na)//增加读者{tag=0;no=n;strcpy(name,na);for(int i=0;i《Maxbor;i++)borbook=0;}void borrowbook(int bookid)//借书操作{for(int i=0;i《Maxbor;i++){if(borbook==0){borbook=bookid;}}}int retbook(int bookid)//还书操作{for(int i=0;i《Maxbor;i++){if (borbook==bookid){borbook=0;return 1;}}return 0;}void disp()//输出读者信息{cout《《setw(5)《《no《《setw(10)《《name《《"借书编号:";for(int i=0;i,Maxbor;i++)if(borbook!=0)cout《《borbook《《endl;}}; class RDatabase//读者库类{int top;//读者记录指针Reader read;//读者记录public:RDatabase()//构造函数,将reader.txt读到read中{Reader s;top=-1;fstream file("reader.txt",ios::in);while(1){file.read((char*)&s,sizeof(s));if(!file)break;top++;read=s;}file.close();}void clear()//删除所有读者信息{top=-1;}int addreader(int n,char *na)//添加读者,检查是否已存在{Reader *p=query(n);if(p==NULL){top++;read.addreader(n,na);return 1;}return 0;}Reader*query(int readerid)//按编号查找{for(int i=0;i《=top;i++)if(read.gettag==0)return &read;return NULL;}void disp()//删除读者所有信息{for(int i=0;i《=top;i++)read.disp();}void readerdata();//读者库维护~RDatabase()//析构函数,将read写入reader.txt文件中{fstream file("reader.txt",ios::out);for(int i=0;i《=top;i++)if(read.gettag()==0)file.write((char*)&read));file.close();}};void RDatabase::readerdata(){int choice=1;char rname;int readerid;Reader*r;while(choice!=0){cout《《"读者服务 1新增 2更该 3删除 4查找 5显示 6全删 0退出"《《endl;cin》》choice;switch(choice){case 1:cout《《"请输入读者编号:";cin》》readerid;cout《《"读入读者姓名:";cin》》rname;addreader(readerid,rname);break;case 2:cout《《"请输入读者编号:";cin》》readerid;r=query(readerid);if(r==NULL){cout《《"读者不存在"《《endl;break;}cout《《"请输入新读者姓名:";cin》》rname;r-》setname(rname);break;case 3:cout《《"请输入读者编号:";cin》》readerid;r=query(readerid);if(r==NULL){cout《《"读者不存在"《《endl;break;}r-》delbook();break;case 4:cout《《"请输入读者编号:";cin》》readerid;r=query(readerid);if(r==NULL){cout《《"该读者编号不存在"《《endl;break;}case 5:disp();break;case 6:clear();break;}}} class Book//图书类{int tag;//删除标记 1:已删;0:未删int no;//图书编号char name;//书名int onshelf;//是否在架 1在架 0已借public:Book(){}char*getname(){return name;}//获取读者姓名int getno(){return no;}//获取图书编号int gettag(){return tag;}//获取删除标记void setname(char na)//设置书名{strcpy(name,na);}void delbook(){tag=1;}//删除图书void addbook(int n,char*na)//增加图书{tag=0;no=n;strcpy(name,na);onshelf=1;}int borrowbook()//借书操作{if(onshelf==1){onshelf=0;return 1;}return 0;}void retbook()//还书操作{onshelf=1;}void disp()//输出图书{cout《《setw(6)《《no《《setw(18)《《name《《setw(10)《《(onshelf==1?"在架":"已借")《《endl;}}; class BDatabase//图书库类{int top;//图书记录指针Book book;//图书记录public:BDatabase()//构造函数,将book.txt读到book中{Book b;top=-1;fstream file("book.txt",ios::in);while(1){file.read((char*)&b,sizeof(b));if(!file)break;top++;book=b;}file.close();}void clear()//全删{top=-1;}int addbook(int n,char*na)//增加图书{Book*p=query(n);if(p==NULL){top++;book.addbook(n,na);return 1;}cout《《"新增成功!"《《endl;}Book*query(int bookid)//查找图书{for(int i=0;i《=top;i++)if(book.gettag()==0)return NULL;}void bookdata();//图书库维护void disp(){for(int i=0;i《=top;i++)if(book.gettag()==0)book.disp();}~BDatabase()//析构函数,将book写入book.txt文件中{fstream file("book.txt",ios::out);for (int i=0;i《=top;i++)if(book.gettag()==0)file.write((char*)&book));file.close();}};void BDatabase::bookdata(){int choice;char bname;int bookid;Book *b;while(choice!=0){cout《《"图书管理 1新增 2更该 3删除 4查找 5显示 6全删 0退出"《《endl;cin》》choice;switch(choice){case 1:cout《《"输入图书编号:";cin》》bookid;cout《《"输入图书书名:";cin》》bname;addbook(bookid,bname);break;case 2:cout《《"输入图书编号:";cin》》bookid;b=query(bookid);if(b==NULL){cout《《"该图书不存在"《《endl;break;}cout《《"输入新书名:";cin》》bname;b-》setname(bname);cout《《"更名成功!"《《endl;break;case 3:cout《《"输入图书编号:";cin》》bookid;b=query(bookid);if(b==NULL){cout《《"该图书不存在!"《《endl;break;}b-》delbook();break;case 4:cout《《"请输入图书编号:";cin》》bookid;b=query(bookid);if(b==NULL){cout《《"该书不存在!"《《endl;break;}b-》disp();break;case 5:disp();break;case 6:clear();break;}}} void main(){int choice=1,bookid,readerid;RDatabase ReaderDB;Reader *r;BDatabase BookDB;Book *b;while(choice!=0){cout《《" 1借书      "《《endl;cout《《" 2还书      "《《endl;cout《《" 3图书维护  "《《endl;cout《《" 4读者维护  "《《endl;cout《《" 0离开      "《《endl;cin》》choice;switch(choice){case 1:cout《《"借书,请输入读者编号:";cin》》readerid;cout《《"图书编号:";cin》》bookid;r=ReaderDB.query(readerid);if(r==NULL){cout《《"哈哈,借书成功!";break;}b=BookDB.query(bookid);if(b==NULL){cout《《"不存在该书!"《《endl;break;}if(b-》borrowbook()==0){cout《《"该书已借"《《endl;break;}r-》borrowbook(b-》getno());break;cout《《"借书成功!"《《endl;case 2:cout《《"还书,请输入读者编号:";cin》》readerid;cout《《"请输入图书编号;";cin》》bookid;r=ReaderDB.query(readerid);if(r==NULL){cout《《"不存在该读者!"《《endl;break;}b-》retbook();r-》retbook(b-》getno());break;cout《《"还书成功!"《《endl;case 3:BookDB.bookdata();break;case 4:ReaderDB.readerdata();break;}}}【输出结果】1借书2还书3图书管理4读者服务0退出3图书管理 1新增 2更该 3删除 4查找 5显示 6全删 0退出1输入图书编号:1111输入图书书名:武林外传新增成功!图书管理 1新增 2更该 3删除 4查找 5显示 6全删 0退出1输入图书编号:2222输入图书书名:今夜无眠新增成功!图书管理 1新增 2更该 3删除 4查找 5显示 6全删 0退出01借书2还书3图书管理4读者服务0退出4读者服务 1新增 2更该 3删除 4查找 5显示 6全删 0退出1请输入读者编号:001读入读者姓名:周强读者服务 1新增 2更该 3删除 4查找 5显示 6全删 0退出01借书2还书3图书管理4读者服务0退出1借书,请输入读者编号:001图书编号:1111哈哈,借书成功! 1借书2还书3图书管理4读者服务0退出2还书,请输入读者编号:001请输入图书编号;1111还书成功!1借书2还书3图书管理4读者服务0退出3图书管理 1新增 2更该 3删除 4查找 5显示 6全删 0退出2输入图书编号:2222输入新书名:金庸全集更名成功!Press any key to continue这样可以么?

c语言课程设计题目(大一C语言课程设计题目, 求急! 加100分)

本文编辑:admin

本文相关文章:


管理学判断题_大一管理学试题及答案?管理学考试答案

管理学判断题_大一管理学试题及答案?管理学考试答案

本文目录管理学判断题_大一管理学试题及答案管理学考试答案管理学原理试题及答案求管理学原理与方法期末考试试卷及答案求财务管理学题目答案跪求管理学原理考试题2021年中级会计师考试《财务管理》考试真题及答案(综合题)财务管理学人大第七版答案财务

2024年6月20日 06:50

更多文章:


1分钟自我介绍(优秀的一分钟自我介绍)

1分钟自我介绍(优秀的一分钟自我介绍)

本文目录优秀的一分钟自我介绍一分钟自我介绍(个人通用)10篇优秀的一分钟自我介绍 优秀的一分钟自我介绍模板(通用12篇)   当换了一个新环境后,我们有必要进行适当的自我介绍,自我介绍是认识自我的手段。那么你真的会写自我介绍吗?下面是我精

2024年7月10日 23:00

演讲讲话的10个技巧?讲话的基本技巧有哪三个

演讲讲话的10个技巧?讲话的基本技巧有哪三个

本文目录演讲讲话的10个技巧讲话的基本技巧有哪三个关于发言的技巧精选5篇基本的讲话技巧有哪些关于口语表达讲话技巧演讲讲话的10个技巧  1、使用小道具:吸引注意   道具的特点在于它的神秘性。它在展示的时候让观众匪夷所思,“这到底是干啥的

2024年3月15日 15:10

建筑工程设计的两个阶段?建筑设计和室内设计的区别

建筑工程设计的两个阶段?建筑设计和室内设计的区别

本文目录建筑工程设计的两个阶段建筑设计和室内设计的区别建筑设计的要求建筑设计专业课程体系建筑设计师专业什么是建筑设计建筑设计是干什么的建筑工程设计包括哪三个方面建筑工程设计的两个阶段本题涉及的考点是建筑工程设计。根据设计条件和设计深度,建筑

2024年4月22日 04:40

开门见山的近义词(开门见山的近义词及造句)

开门见山的近义词(开门见山的近义词及造句)

本文目录开门见山的近义词及造句开门见山的近义词和反义词四字词语开门见山的意思解释开门见山近义成语开门见山的同义词开门见山近义词开门见山的近义词及造句   开门见山是一个汉语词语,拼音为kāi mén jiàn shān,指开启门就能看

2024年8月30日 00:30

旅游英语词汇(关于旅游的常用词汇和句型)

旅游英语词汇(关于旅游的常用词汇和句型)

本文目录关于旅游的常用词汇和句型出国旅游英文必备词汇精选与“旅行”相关的英语词汇的用法旅游业常用英语词汇旅游英语词汇 旅游相关的英文词出国旅游的英语词汇旅游英语必备:实用短语及常用词汇大全,让你的旅行更加畅快!旅游的英语词汇旅游的英语词汇有

2024年4月20日 10:10

好看的火星文符号(请各位大侠帮我用我的名字设计一个网名《晴》请帮我把字体换成火星文或者繁体字在加上好看的符号)

好看的火星文符号(请各位大侠帮我用我的名字设计一个网名《晴》请帮我把字体换成火星文或者繁体字在加上好看的符号)

本文目录请各位大侠帮我用我的名字设计一个网名《晴》请帮我把字体换成火星文或者繁体字在加上好看的符号谁帮我设计一下!!!急求!!遇见和预见加点符号,例如火星文或其他,要好看的,一定给分十字路口 帮忙转换为火星文并加一些好看的符号请各位大侠帮我

2024年5月4日 18:30

工作汇报结尾(如何写工作汇报的结尾)

工作汇报结尾(如何写工作汇报的结尾)

本文目录如何写工作汇报的结尾公司个人年终工作总结结尾范文办公室工作总结结尾如何写工作汇报的结尾尊敬的领导,非常感谢您的关心和关怀。我现在刚刚下班,工作已经完成得很顺利。虽然我一直都很忙碌,但我始终保持着高效的工作状态,并且尽力完成了分配给我

2024年8月14日 14:30

西方神话故事(外国神话故事有哪些)

西方神话故事(外国神话故事有哪些)

本文目录外国神话故事有哪些外国神话故事有关外国神话故事有哪些外国神话故事有哪些外国神话故事有潘多拉的盒子、伊甸园、梵天创世、达摩克利斯剑、皮匠的梦等。神话故事是民间文学的一种。远古时代人民的集体口头创作。包括神鬼的故事和神(鬼)化的英雄传说

2024年5月8日 23:30

就这样慢慢长大(就这样慢慢长大中考满分作文)

就这样慢慢长大(就这样慢慢长大中考满分作文)

本文目录就这样慢慢长大中考满分作文就这样慢慢长大中考满分作文600字就这样慢慢长大初中作文800字就这样慢慢长大中考作文600字就这样慢慢长大初中优秀作文800字就这样慢慢长大作文就这样慢慢长大中考作文就这样慢慢长大作文初三就这样慢慢长大作

2024年3月13日 13:30

固体废弃物的主要处理方法有()?废弃物的处理方式有哪些

固体废弃物的主要处理方法有()?废弃物的处理方式有哪些

本文目录固体废弃物的主要处理方法有()废弃物的处理方式有哪些固体废弃物的主要处理方法有怎样处理危废废弃物处理方法固体废物常用的处理方法有在医疗系统中,针对医疗废物处理不规范的问题,你会怎么做固体废弃物的主要处理方法有()固体废弃物的主要处理

2024年8月10日 17:00

开展学雷锋活动(学雷锋系列活动方案)

开展学雷锋活动(学雷锋系列活动方案)

本文目录学雷锋系列活动方案2021学习雷锋活动实施方案三篇学雷锋活动具体方案举办学雷锋精神的活动总结学雷锋纪念日活动策划方案学习雷锋精神活动总结学习雷锋活动方案5篇开展学雷锋志愿者活动总结小学开展学雷锋活动简报社区开展学雷锋活动简报学雷锋系

2024年8月3日 06:20

白猫杯:食盐的五种妙用?白猫杯的竞赛历史

白猫杯:食盐的五种妙用?白猫杯的竞赛历史

本文目录白猫杯:食盐的五种妙用白猫杯的竞赛历史什么是白猫杯白猫杯获奖名单白猫杯化学竞赛含金量白猫杯的竞赛规则天原杯、新知杯、白猫杯、大同杯几年级可以考和报名时间白猫杯虹口区入围复赛名单历届初中白猫杯决赛试题高中化学白猫杯二等奖含金量高不高白

2024年7月13日 12:50

歌曲经典对白?求电影经典对白,两个人说的那种,急需!

歌曲经典对白?求电影经典对白,两个人说的那种,急需!

本文目录歌曲经典对白求电影经典对白,两个人说的那种,急需!欢乐颂电视剧2经典对白可作为签字(精选43句)经典台词对白有哪些《欢乐颂》经典对白选录霸气经典台词对白欧美经典电影中的经典对白电影里的经典对白,越多越好卡萨布兰卡经典对白中英对照北京

2024年8月1日 09:30

年终总结感恩的话(工作总结结尾感谢语)

年终总结感恩的话(工作总结结尾感谢语)

本文目录工作总结结尾感谢语一年感悟的心情说说 以感恩之心,感激拥有的一切工作年终总结感谢词2022年终总结感恩的话会议结束语的感谢话语老板年终总结感恩的话工作总结结尾感谢语 工作总结结尾感谢语   工作总结结尾感谢语,工作总结指的就是自己

2024年5月6日 03:10

青山不墨电视剧(《青山不墨》引起了林城市民的热切关注,剧中体现出的林业人是否真实)

青山不墨电视剧(《青山不墨》引起了林城市民的热切关注,剧中体现出的林业人是否真实)

本文目录《青山不墨》引起了林城市民的热切关注,剧中体现出的林业人是否真实年代剧《青山不墨》有哪些看点《青山不墨》免费在线观看完整版高清,求百度网盘资源青山不墨剧情介绍电视剧青山不墨剧情介绍青山不墨电视剧青山不墨电视剧大结局青山不墨电视剧什么

2024年7月17日 00:00

和氏璧是什么?和氏璧的故事文言原文及翻译

和氏璧是什么?和氏璧的故事文言原文及翻译

本文目录和氏璧是什么和氏璧的故事文言原文及翻译和氏璧的全文翻译:楚人和氏得玉璞荆山中…全文翻译和氏璧是怎么回事和氏璧原文及译文和氏璧是什么意思和氏璧的意思是什么和氏璧文言文翻译及原文和氏璧的含义是什么【和氏璧】的意思是什么【和氏璧】是什么意

2024年4月7日 05:30

2021年感动中国人物(感动中国2021有谁)

2021年感动中国人物(感动中国2021有谁)

本文目录感动中国2021有谁2021感动中国年度人物名单公布,都有哪些人物在列2021感动中国年度人物名单公布,都有哪些人在这个名单中2021年度感动中国人物颁奖词及人物介绍是什么有哪些优秀的2021感动中国颁奖词2021年感动中国人物刘梦

2024年5月18日 11:10

国窖1573广告词(白酒广告词能带酒吗)

国窖1573广告词(白酒广告词能带酒吗)

本文目录白酒广告词能带酒吗国窖1573怎么发朋友圈泸州老窖广告词国窖一五七三的广告词国窖1573经典广告词白酒广告词能带酒吗可以1. 五粮液:中国的五粮液、世界的五粮液。2. 泸州老窖:中国荣耀,泸州老窖!中国第一窖,泸州老窖!可以品味的历

2024年9月19日 20:20

金融企业业务档案的编研属于档案工作的哪一环节?企业登记档案网上查询系统怎么查无数据

金融企业业务档案的编研属于档案工作的哪一环节?企业登记档案网上查询系统怎么查无数据

本文目录金融企业业务档案的编研属于档案工作的哪一环节企业登记档案网上查询系统怎么查无数据企业文件材料归档范围和档案保管期限规定属于什么企业工商档案如何查询企业档案怎么管理查企业档案需要什么手续央起档案属于档案局管辖吗如何去工商局办理本企业档

2024年5月13日 11:50

鱼化石 艾青(《鱼化石》诗歌描绘了什么形象)

鱼化石 艾青(《鱼化石》诗歌描绘了什么形象)

本文目录《鱼化石》诗歌描绘了什么形象艾青《鱼化石》的象征意义是什么《鱼化石》诗歌描绘了什么形象艾青的《鱼化石》诗歌描绘了鱼化石的鲜明形象。它曾经是一个动作活泼、精力旺盛,在大海里自由自在跳跃、浮沉的生命存在,但是一场突如其来的大灾难——火山

2024年3月13日 03:30