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

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

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

更多文章:


3.8女神节(3.8是女神节吗)

3.8女神节(3.8是女神节吗)

本文目录3.8是女神节吗3月8号是女神节还是妇女节三八妇女节是几月几日三八女神节节祝福语短句3.8女神节说说的经典话语三八女神节朋友圈怎么发适合3.8妇女节发的文案3.8是女神节吗3月8号是女神节。2、3月8日是国际妇女节,本是一个为庆祝妇

2024年8月6日 15:50

劳动竞赛口号(建筑工地劳动竞赛口号)

劳动竞赛口号(建筑工地劳动竞赛口号)

本文目录建筑工地劳动竞赛口号建筑工地劳动竞赛口号,建筑工地劳动竞赛口号霸气的劳动竞赛标语口号,霸气的劳动竞赛标语口号辛勤劳动工作口号三篇劳动竞赛宣传标语工程劳动竞赛口号,工程劳动竞赛口号劳动竞赛口号建筑工地劳动竞赛口号.建筑工地劳动竞赛口号

2024年5月22日 15:10

可以转动的纸杯娃娃怎么做?纸杯手工怎么制作

可以转动的纸杯娃娃怎么做?纸杯手工怎么制作

本文目录可以转动的纸杯娃娃怎么做纸杯手工怎么制作纸杯娃娃手工制作过程纸杯娃娃怎么做用纸杯做一个可爱的小娃娃适合两岁宝贝的亲子游戏纸杯娃娃教案可以转动的纸杯娃娃怎么做可以转动的纸杯娃娃怎么做介绍如下:准备材料:纸杯、剪刀、铅笔、彩色卡纸、双面

2024年6月30日 01:30

你在我眼中是最美(“你在我心里是最美”是哪首歌的歌词歌名是啥)

你在我眼中是最美(“你在我心里是最美”是哪首歌的歌词歌名是啥)

本文目录“你在我心里是最美”是哪首歌的歌词歌名是啥求“你在我眼中是最美“是什么歌的歌词啊你在我眼中是最美作文“你在我心中是最美”是什么歌你在我眼中是最美是什么歌 你在我眼中是最美歌词欣赏“你在我心里是最美”是哪首歌的歌词歌名是啥最美歌曲原唱

2024年5月30日 00:00

我应该这样做(我应该怎么做)

我应该这样做(我应该怎么做)

本文目录我应该怎么做我应该怎样做呢《我应该怎么做》的作文我应该这样做 作文作为学生我们该如何做初中我应该这样去做作文600字我该怎样做下个学期我应该怎么做写一篇周记;《语文课我应该这么做》为题我应该怎么做对于这样的情况我认为你应该在言语承诺

2024年5月1日 20:20

十字绣竖背绣教程?学十字绣 新手 教程

十字绣竖背绣教程?学十字绣 新手 教程

本文目录十字绣竖背绣教程学十字绣 新手 教程十字绣回针绣教程怎么绣十字绣 教程十字绣穿针方法有哪些 教程是怎么样的十字绣勾边教程新手十字绣教程十字绣鞋垫的绣法教程十字绣新手教程十字绣竖背绣教程十字绣竖背绣教程如下:1、先起头,由于周边没有可

2024年5月23日 23:10

邮政储蓄业务员(邮政储蓄银行宜昌信用卡部有哪些岗位)

邮政储蓄业务员(邮政储蓄银行宜昌信用卡部有哪些岗位)

本文目录邮政储蓄银行宜昌信用卡部有哪些岗位邮政储蓄银行的业务员是具体是干什么的是不是很累啊请专业人士解答从事邮政工作需要考哪些证书邮政储蓄银行业务员为啥农村的邮政储蓄业务员每年都有任务,比如说卖种子,化肥啥,大米,豆油呢在邮政储蓄办了张新的

2024年4月30日 03:10

文科生的就业方向(文科生毕业后就业方向有哪些)

文科生的就业方向(文科生毕业后就业方向有哪些)

本文目录文科生毕业后就业方向有哪些文科生就业有哪些方向文科生有哪些比较好的就业方向呢文课就业方向文科生的就业方向有哪些呢文科生最好的就业方向文科生的就业方向在哪里文科生就业方向有哪些文科生毕业后就业方向有哪些文科生的就业方向,我认为主要有以

2024年8月12日 22:00

四个意识是指什么?四个意识指哪些

四个意识是指什么?四个意识指哪些

本文目录四个意识是指什么四个意识指哪些四个意识内容四个意识是什么呢四个意识指什么四个意识是指四个意识是什么四个意识指的是四个意识,四个自信,两个维护的内容是什么“四个意识”、“四个自信”“两个坚决维护”的内容四个意识是指什么“四个意识”是指

2024年6月2日 01:30

找一个好网名(找个网名好听的昵称)

找一个好网名(找个网名好听的昵称)

本文目录找个网名好听的昵称找个好听的网名找个网名好听的昵称好听的网名昵称如下:1、清瑶2、扶光3、归晚4、逍遥游5、三千客6、万物燃烧7、芹香子8、行舟9、河州10、荒原11、日光倾城12、泠泠13、风花14、秋生15、木石16、雁来月17

2024年9月27日 15:50

送玫瑰代表什么含义?送玫瑰花代表什么意思

送玫瑰代表什么含义?送玫瑰花代表什么意思

本文目录送玫瑰代表什么含义送玫瑰花代表什么意思玫瑰花送几朵各代表什么意思送玫瑰的含义是什么送玫瑰花代表什么含义(送玫瑰花的真正的寓意)关于送玫瑰花的含义玫瑰送几朵送玫瑰的含义送玫瑰花的含义是什么情人节送玫瑰代表什么意思送玫瑰代表什么含义玫瑰

2024年3月9日 02:50

超拽的女生个性签名(签名霸气超拽有范女生 女生微信个性签名霸气(59句))

超拽的女生个性签名(签名霸气超拽有范女生 女生微信个性签名霸气(59句))

本文目录签名霸气超拽有范女生 女生微信个性签名霸气(59句)简短超拽高冷的女生霸气个性签名女生超拽霸气个性签名霸气高冷范女生超拽个性签名一句话 在我的舞台上你不再是主角微信个性签名霸气女生 女生霸气签名超拽霸气(58句)霸气个性签名女生高冷

2024年3月23日 03:50

一份正规企划书包含哪些方面内容,格式是什么样的?企划书怎么写 企划书基本格式

一份正规企划书包含哪些方面内容,格式是什么样的?企划书怎么写 企划书基本格式

本文目录一份正规企划书包含哪些方面内容,格式是什么样的企划书怎么写 企划书基本格式一份企划书或方案书怎样写、分哪几个步骤企划书怎么写企划书的格式怎么写企划书格式及范文是什么一份正规企划书包含哪些方面内容,格式是什么样的what(什么)——企

2024年8月22日 03:50

兔年祝福语最火四字(兔年吉祥语四字,兔年吉祥语)

兔年祝福语最火四字(兔年吉祥语四字,兔年吉祥语)

本文目录兔年吉祥语四字,兔年吉祥语兔年四个字的祝福语兔年的祝福语四字成语兔年祝福语4个字兔年祝福语2022最火简短四字兔年四字祝福语大全兔年吉祥语四字,兔年吉祥语 提起兔年吉祥语四字,大家都知道,有人问兔年吉祥语,另外,还有人想问兔年带“兔

2024年4月9日 07:10

义务教育教科书英语四年级上册(四年级英语上册知识点梳理)

义务教育教科书英语四年级上册(四年级英语上册知识点梳理)

本文目录四年级英语上册知识点梳理四年级上册英语的教学计划四年级上册英语书48页读法如何英语四年级上英语书第五单元,是第几页到第几页四年级上册英语书内容是什么小学四年级上册英语书全部内容人教版四年级英语上册教学计划小学英语四年级英语上册教学计

2024年9月7日 10:40

职业目标怎么写(职业发展目标怎么写简短)

职业目标怎么写(职业发展目标怎么写简短)

本文目录职业发展目标怎么写简短职业目标怎么写简历中职业目标怎么写个人职业目标怎么写我的职业目标怎么写职业发展目标怎么写简短职业发展目标简短如下:1、通过多种学习机会与渠道,选择和运用适合自己的学习方式,不断提升自身的专业化水准。多翻阅有关幼

2024年7月3日 07:50

关于梅花古诗(关于梅花的古诗)

关于梅花古诗(关于梅花的古诗)

本文目录关于梅花的古诗与梅花有关的古诗有哪些关于梅花的古诗30篇关于梅花的古诗十首著名的梅花诗词如下:1、《梅花》宋·王安石墙角数枝梅,凌寒独自开。遥知不是雪,为有暗香来。2、《盐角儿·亳社观梅》宋·晁补之开时似雪。谢时似雪。花中奇绝。香非

2024年8月25日 15:20

我的愿望是当一名老师(我的愿望当一名教师)

我的愿望是当一名老师(我的愿望当一名教师)

我的愿望当一名教师        在我心里,一直有个小小的秘密:长大后我想当一名老师,尤其是每天跟郭老师朝夕相处,更加坚定了我要当老师的愿望。        因为,老师象阳光,每天照耀着我们这些祖国的花朵,一天比一天进步;老师是园丁,每天培

2024年12月5日 20:00

端午节手抄报大全图片(端午节手抄报简单)

端午节手抄报大全图片(端午节手抄报简单)

本文目录端午节手抄报简单四年级画端午节手抄报端午节手抄报简单端午节手抄报,可以从以下几个方面进行设计:1、设计:主题可以是端午节,背景色可以是浅蓝色,边框可以用粽叶、龙舟、艾草等元素作为边框装饰。2、内容:主标题可以是端午节,副标题可以是纪

2024年7月30日 14:10

2022年冬季公益传播官活动主题是?公益传播的主要参与者

2022年冬季公益传播官活动主题是?公益传播的主要参与者

本文目录2022年冬季公益传播官活动主题是公益传播的主要参与者线上公益相比线下公益有哪些优点专访弘远老师:坚持公益传播国学养生,让更多人回归身心健康cctv公益传播几点开始公益活动宣传推广方案立白公益传播策略的缺点河南省公益文化传播基金会是

2024年4月5日 00:00