写在前面:
水了一周多的c语言课设该有点结局了(摆烂结束)
--在此献上周五的《C语言课程设计 完成质量测试》,礼炮冲天
1.主菜单的展示
小型管理系统一般会先显示主菜单。下面请你设计一个简单的主菜单。
解题思路:
水题水到极致。(唯一的”陷阱“大概就是倒数第二行是空的)
#include#include int main() { printf("***************主菜单**************n"); printf("1. 输入记录n"); printf("2. 显示所有记录n"); printf("3. 对所有记录进行排序n"); printf("4. 按姓名查找记录并显示n"); printf("5. 插入记录n6. 删除记录n7. 将所有记录保存到文件n8. 从文件中读入所有记录n9. 退出n***********************************nn请选择操作(1-9):"); }
2.主菜单的简单测试
解题思路:
虽然我们的课设不是强校的游戏制作,但我们的考试是游戏啊--【找不同*科大版】
四个错误中两个输出错误,一个循环条件出错,一个指针错误。
题不难,就是恶心(口区)
贴上wa与ac的截图:
#include//printf()、scanf()等函数 #include //strlen()、strcpy()等函数 #include //atoi()函数 //定义常数 #define N 3 //定义结构体 typedef struct student { char no[11]; char name[15]; float score[N]; float sum; float average; int order; }STUDENT; int input(STUDENT *stud,int n) { printf("n您已经成功执行input()函数!n"); return(n+1); } void print(STUDENT *stud,int n) { printf("n您已经成功执行print()函数!n"); } void sort(STUDENT *stud,int n) { printf("n您已经成功执行sort()函数!n"); } void search(STUDENT stud[],int n) { printf("n您已经成功执行search()函数!n"); } int insert(STUDENT *stud,int n) { printf("n您已经成功执行insert()函数!n"); return n+1; } int delete1(STUDENT *stud,int n) { printf("n您已经成功执行delete1()函数!n"); return n-1; } void save(STUDENT *stud,int n) { printf("n您已经成功执行save()函数!n"); } int load(STUDENT *stud) { printf("n您已经成功执行load()函数!n"); return 1; } int menu_select() { char s[3]; int c=0; 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"); do { printf("请选择操作(1-9):"); scanf("%s",s); c=atoi(s); }while(c<1||c>9); return(c); } int main(void) { int n=0; STUDENT student[20]; switch(menu_select()) { case 1: input(student,n);break; case 2: print(student,n);break; case 3: sort(student,n);break; case 4: search(student,n);break; case 5: insert(student,n);break; case 6: delete1(student,n);break; case 7: save(student,n);break; case 8: load(student);break; case 9: exit(0); } return 0; }
3.结构数组的显示
解题思路:
本题难点不在补全,在于输出的格式,这次玩的不是找不同,玩的是不停wa后的心态
(微笑)
同样贴上wa与ac的截图,罚时让我怀疑人生(幸好考试不是比赛)
#include//printf()、scanf()等函数 typedef struct student { char xueHao[11]; char xingMing[15]; double chengJi[3]; double zongFen; double pingJunFen; int mingCi; }STUDENT; void print(int n,STUDENT stud[] ) { int i=0; if(n==0) { printf("n很遗憾,空表中没有任何记录可供显示!n"); } else { printf("********************************** STUDENT ****************************************n"); printf(" 位置号 学号 姓名 成绩1 成绩2 成绩3 总分 平均分 名次n"); printf("-----------------------------------------------------------------------------------n"); while(i 4. 在结构数组插入一条新记录
解题思路:冲就是了,一个循环解决,就是要注意是i--,不是习惯的i++(微笑)
for(i=n+1; i>position; i--) { stud[i]=stud[i-1]; }5.利用指针变量找最大值
解题思路:好久没用指针,在语法那里卡了一小会,索性不难,冲!
for( i=0; i*p)p=&a[i]; } 6.链表的显示
解题思路:while循环啦,还不如课设后面的链表题难,水水水水水水。 注意cnt增加的条件
while(p){ printf("%s %dn",p->name,p->score); if(p->score>=60)cnt++; p=p->next; } printf("%d",cnt);7.汉字字形横向放大
解题思路:边读边输出
#include#include int main(){ char a[100][100]; int i; for( i=0; i<56; i++)scanf("%s",a[i]); int j; for(i=0;i<56;i++){ for(j=0;j 8. 24位色真彩色位图的实际像素数据
解题思路: 题目字有点多,循环解决(水水水水)
#include#include int main() { int a[200][200]; int n; scanf("%d",&n); for(int i=0; i =0; i--) { for(int j=0; j 写在最后:
不是夸耀题目的难度,只是匹配不上那么好的课设题(水水水水);
个人状态:小弱鸡一个,写下本篇记录第一次课设。
看到这不留个赞与收藏吗(嘿嘿嘿),评论一波也是好滴,溜了溜了。



