经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » C 语言 » 查看文章
C语言链表实现学生信息管理系统程序设计
来源:jb51  时间:2022/7/25 17:15:51  对本文有异议

本文实例为大家分享了C语言链表实现学生信息管理系统的具体代码,供大家参考,具体内容如下

事先存入的数据:

菜单

创建链表并倒序输出

输出链表中的全部信息

写入信息并保存至文件中(覆盖原有文件)

随机读取

指定查找

添加信息

指定删除

特殊查找

特殊删除

退出系统

  1. #include<iostream>
  2. #include<string.h>
  3. #include<stdlib.h>
  4. #include<iomanip>
  5. #include<fstream>
  6. #include<time.h>
  7. int length=0;
  8. using namespace std;
  9. char a[10],b[10],c[10],d[10],e[10],f[10],g[10];
  10. //定义学生信息的结构体类型,包括:学号、姓名、专业、班级、3门成绩
  11. typedef struct StuNode
  12. {
  13. ?? ?char grad[10];//学号
  14. ?? ?char name[10];//姓名
  15. ?? ?char spec[10];//专业
  16. ?? ?char stu_class[10];//班级?
  17. ?? ?int score1;
  18. ?? ?int score2;
  19. ?? ?int score3;
  20. ?? ?struct StuNode *next;
  21. }student, *StuLink;
  22. ?
  23. void Sort(StuLink &head)//从小到大进行冒泡排序?
  24. {
  25. ?? ?StuLink tmp,pre,p,q;
  26. ?? ?if (head->next)
  27. ?? ?{
  28. ?? ??? ?p = head->next->next;
  29. ?? ??? ?head->next->next = NULL;
  30. ?? ??? ?while (p)
  31. ?? ??? ?{
  32. ?? ??? ??? ?pre = head; ?//pre是q的前驱
  33. ?? ??? ??? ?q = pre->next;?
  34. ?? ??? ??? ?while (q && strcmp(q->grad,p->grad)<0)//从链表第二个结点开始找比当前插入值大的结点
  35. ?? ??? ??? ?{
  36. ?? ??? ??? ??? ?pre = pre->next;
  37. ?? ??? ??? ??? ?q = q->next;?
  38. ?? ??? ??? ?}
  39. ?? ??? ??? ?tmp = p->next;//将p插入到结点pre和q之间
  40. ?? ??? ??? ?p->next = q;
  41. ?? ??? ??? ?pre->next = p;?
  42. ?? ??? ??? ?p = tmp;
  43. ?? ??? ?}
  44. ?? ?}?? ?
  45. }?
  46. ?
  47. student *CreateList()//初始化:创建链表?
  48. {
  49. ?? ?void Output(StuLink &p);
  50. ?? ?StuLink head = (student*)malloc(sizeof(student));
  51. ?? ?StuLink p,q;
  52. ?? ?p = head;
  53. ?? ?q = head;
  54. ?? ?char grad[10];//学号
  55. ?? ?char name[10];//姓名
  56. ?? ?char spec[10];//专业
  57. ?? ?char stu_class[10];//班级?
  58. ?? ?int score1;
  59. ?? ?int score2;
  60. ?? ?int score3;
  61. ?? ?FILE *r= fopen("2.txt","r");
  62. ?? ?if(r==NULL)
  63. ?? ?{
  64. ?? ??? ?printf("打开文件失败!");
  65. ?? ??? ?return NULL;
  66. ?? ?}
  67. ?? ?fscanf(r,"%s%s%s%s%s%s%s",&a,&b,&c,&d,&e,&f,&g);//读取标题?
  68. ?? ?while(fscanf(r,"%s%s%s%s%d%d%d",grad,name,spec,stu_class,&score1,&score2,&score3)!=EOF)
  69. ?? ?{
  70. ?? ??? ?q = (student*)malloc(sizeof(student));
  71. ?? ??? ?strcpy(q->grad,grad);
  72. ?? ??? ?strcpy(q->name,name);
  73. ?? ??? ?strcpy(q->spec,spec);
  74. ?? ??? ?strcpy(q->stu_class,stu_class);
  75. ?? ??? ?q->score1 = score1;
  76. ?? ??? ?q->score2 = score2;
  77. ?? ??? ?q->score3 = score3;
  78. ?? ??? ?p->next = q;?
  79. ?? ??? ?p = q;
  80. ?? ??? ?length++;
  81. ?? ?}
  82. ?? ?p->next = NULL;
  83. ?? ?Sort(head);
  84. ?? ?
  85. ?? ?//倒序输出?
  86. ?? ?StuLink k = head,t;
  87. ?? ?while(k->next) ?
  88. ?? ??? ?k = k->next;
  89. ?? ?while(k!=head)
  90. ?? ?{?? ?//倒序输出?
  91. ?? ??? ?t = head;
  92. ?? ??? ?while(t->next!=k)
  93. ?? ??? ??? ?t = t->next;//t为k前驱?
  94. ?? ??? ?k = t;
  95. ?? ?}
  96. ?? ?return head;
  97. }
  98. ?
  99. ?
  100. void Output(StuLink &p)//输出信息?
  101. {
  102. ?? ?printf("%5s %-5s %-3s %s %3d %3d %3d\n",p->grad,p->name,p->spec,p->stu_class,p->score1,p->score2,p->score3);
  103. }
  104. ?
  105. void Print_List(StuLink &head)//打印整个链表?
  106. {
  107. ?? ?StuLink p = head->next;
  108. ?? ?while(p)
  109. ?? ?{
  110. ?? ??? ?Output(p);
  111. ?? ??? ?p = p->next;
  112. ?? ?}
  113. }
  114. ?
  115. void Save(StuLink &head)//写入文件。
  116. {?? ?
  117. ?? ?StuLink p = (student*)malloc(sizeof(student)),q = head->next;
  118. ?? ?char grad[10],name[10],spec[10],stu_class[10];
  119. ?? ?int score1,score2,score3;
  120. ?? ?printf("请输入学生信息:\n");
  121. ?? ?scanf("%s%s%s%s%d%d%d",p->grad,p->name,p->spec,p->stu_class,&p->score1,&p->score2,&p->score3);?
  122. ?? ?FILE *w =fopen("2.txt","a");
  123. ?? ?if(w==NULL)
  124. ?? ?{
  125. ?? ??? ?printf("打开文件失败!\n");
  126. ?? ??? ?return;
  127. ?? ?}
  128. ?? ?else printf("写入成功!\n");?
  129. ?? ?fprintf(w,"\n%s %s ? ? ?%s ? ? ? %s ?%d ? ? ?%d ? ? ? ? %d",p->grad,p->name,p->spec,p->stu_class,p->score1,p->score2,p->score3);
  130. ?? ?fclose(w);
  131. ?? ?//存入链表?
  132. ?? ?p->next = q;
  133. ?? ?head->next = p;
  134. ?? ?Sort(head);
  135. }
  136. ?
  137. void Fetch(StuLink &H)//随机读取某个学生的信息。?
  138. {
  139. ?? ?StuLink p = H->next;
  140. ?? ?int i = time(NULL) % length;
  141. ?? ?int j = i;
  142. ?? ?while(j)
  143. ?? ?{
  144. ?? ??? ?p = p->next;
  145. ?? ??? ?j--;
  146. ?? ?}
  147. ?? ?printf("第%d名学生\n",i+1);
  148. ?? ?printf(" 学号 姓名 专业 班级 成绩1 成绩2 成绩3\n");
  149. ?? ?Output(p);
  150. }
  151. ?
  152. student *Search_num(StuLink &H)?
  153. {?? ?//查找指定学号的学生,返回指向该学生结点的指针。
  154. ?? ?char grad[10];
  155. ?? ?printf("请输入查询信息的学号:");?
  156. ?? ?scanf("%s",grad);
  157. ?? ?StuLink p = H->next;
  158. ?? ?while(p)
  159. ?? ?{
  160. ?? ??? ?if(strcmp(p->grad,grad)==0)?
  161. ?? ??? ??? ?return p;
  162. ?? ??? ?p = p->next;
  163. ?? ?}
  164. ?? ?return NULL;
  165. }
  166. ?
  167. void InsertList(StuLink &H)
  168. {?? ?//在函数中输入一个学生的信息,将该学生信息插入到链表中的相应位置,并保持此链表按学号的有序性。?
  169. ?? ?StuLink p = H->next, q = H;
  170. ?? ?StuLink insert = (student*)malloc(sizeof(student));
  171. ?? ?printf("请输入学生信息:\n");
  172. ?? ?scanf("%s%s%s%s%d%d%d",insert->grad,insert->name,insert->spec,insert->stu_class,&insert->score1,&insert->score2,&insert->score3);?
  173. ?? ?
  174. ?? ?while(p)
  175. ?? ?{
  176. ?? ??? ?if(strcmp(p->grad,insert->grad) > 0 )?
  177. ?? ??? ?{
  178. ?? ??? ??? ?q->next = insert;//应插入q和p之间
  179. ?? ??? ??? ?insert->next = p;
  180. ?? ??? ??? ?break;
  181. ?? ??? ?}
  182. ?? ??? ?q = q->next;//q是p的前驱?
  183. ?? ??? ?p = p->next;
  184. ?? ?}?? ?
  185. ?? ?if(!p)//insert的学号大于所有已知值?
  186. ?? ?{
  187. ?? ??? ?q->next = insert;
  188. ?? ??? ?insert->next = NULL;
  189. ?? ?}
  190. ?? ?p = H->next;
  191. ?? ?printf("\n");
  192. ?? ?Print_List(H);
  193. }
  194. ?
  195. void Delete_num(StuLink &H)//从链表中删除指定学号的学生。?
  196. {
  197. ?? ?StuLink p = H->next, q = H;
  198. ?? ?char grad[10];?
  199. ?? ?printf("请输入想删除的学生的学号:\n");
  200. ?? ?scanf("%s",grad);?
  201. ?? ?while(p)
  202. ?? ?{
  203. ?? ??? ?if(strcmp(p->grad,grad)==0) ??
  204. ?? ??? ?{
  205. ?? ??? ??? ?q->next = p->next;
  206. ?? ??? ??? ?free(p);
  207. ?? ??? ??? ?break;
  208. ?? ??? ?}
  209. ?? ??? ?q = q->next;
  210. ?? ??? ?p = p->next;
  211. ?? ?}
  212. ?? ?FILE *w =fopen("2.txt","w");
  213. ?? ?p=H->next;
  214. ?? ?while(p)
  215. ?? ?{
  216. ?? ??? ?fprintf(w,"%5s %-5s %-3s %s %3d %3d %3d\n",p->grad,p->name,p->spec,p->stu_class,p->score1,p->score2,p->score3);
  217. ?? ??? ?p = p->next;
  218. ?? ?}
  219. ?? ?fclose (w);
  220. ?? ?Print_List(H);
  221. }
  222. ?
  223. student *Search_major_subject_score(StuLink &H)
  224. {?? ?//查找某个专业的、某门课程的成绩小于某个分数的学生,返回指向该学生结点的指针。
  225. ?? ?char spec[10];
  226. ?? ?float score;
  227. ?? ?StuLink p = H->next;
  228. ?? ?int lesson;
  229. ?? ?printf("请输入专业、课程序号和门限分数:\n");?
  230. ?? ?scanf("%s%d%f",spec,&lesson,&score);
  231. ?? ?while(p)
  232. ?? ?{
  233. ?? ??? ?if(strcmp(p->spec,spec)==0)
  234. ?? ??? ??? ?if(lesson==1 && p->score1<score || lesson==2 && p->score2<score || lesson==3 && p->score3<score)?
  235. ?? ??? ??? ??? ?return p;
  236. ?? ??? ?p = p->next;
  237. ?? ?}
  238. ?? ?return NULL;
  239. }
  240. ?
  241. void Delete_major_subject(StuLink &H)
  242. {?? ?//从链表中删除某个专业的、某门课程的成绩小于某个分数的学生。
  243. ?? ?char spec[10];
  244. ?? ?float score;
  245. ?? ?StuLink p = H->next, q = H;
  246. ?? ?int lesson,flag = 0;
  247. ?? ?printf("请输入专业、课程序号和门限分数:\n");?
  248. ?? ?scanf("%s%d%f",spec,&lesson,&score);
  249. ?? ?while(p)
  250. ?? ?{?? ?
  251. ?? ??? ?if(strcmp(p->spec,spec)==0 && lesson == 1 && p->score1 < score) // ?cs 1 94
  252. ?? ??? ?{
  253. ?? ??? ??? ?Output(p);
  254. ?? ??? ??? ?q->next = p->next;
  255. ?? ??? ??? ?free(p);?
  256. ?? ??? ??? ?p = q->next;
  257. ?? ??? ??? ?flag = 1;
  258. ?? ??? ?}
  259. ?? ??? ?else if(strcmp(p->spec,spec)==0 && lesson == 2 && p->score2 < score) // ?cs 1 94
  260. ?? ??? ?{
  261. ?? ??? ??? ?Output(p);
  262. ?? ??? ??? ?q->next = p->next;
  263. ?? ??? ??? ?free(p);?
  264. ?? ??? ??? ?p = q->next;
  265. ?? ??? ??? ?flag = 1;
  266. ?? ??? ?}
  267. ?? ??? ?else if(strcmp(p->spec,spec)==0 && lesson == 3 && p->score3 < score) // ?cs 1 94
  268. ?? ??? ?{
  269. ?? ??? ??? ?Output(p);
  270. ?? ??? ??? ?q->next = p->next;
  271. ?? ??? ??? ?free(p);?
  272. ?? ??? ??? ?p = q->next;
  273. ?? ??? ??? ?flag = 1;
  274. ?? ??? ?}
  275. ?? ??? ?else
  276. ?? ??? ?{
  277. ?? ??? ??? ?q = p;
  278. ?? ??? ??? ?p = p->next;?? ??? ??? ?
  279. ?? ??? ?}
  280. ?? ?}
  281. ?? ?if(flag==0) printf("不存在此学生!\n");?? ?
  282. ?? ?else printf("成功删除\n");?
  283. ?? ?FILE *w =fopen("2.txt","w");
  284. ?? ?p=H->next;
  285. ?? ?while(p)
  286. ?? ?{
  287. ?? ??? ?fprintf(w,"%5s %-5s %-3s %s %3d %3d %3d\n",p->grad,p->name,p->spec,p->stu_class,p->score1,p->score2,p->score3);
  288. ?? ??? ?p = p->next;
  289. ?? ?}
  290. ?? ?fclose (w);
  291. ?? ?Print_List(H);
  292. }
  293. ?
  294. void write(StuLink &H)//写入其他文件?
  295. {
  296. ?? ?StuLink p = H->next;
  297. ?? ?FILE *w = fopen("other.txt","w");
  298. ?? ?fprintf(w,"%s %s %s %s %s %s %s",a,b,c,d,e,f,g);
  299. ?? ?while(p)
  300. ?? ?{
  301. ?? ??? ?fprintf(w,"\n%s %s ? ? ?%s ? ? ? %s ?%d ? ? ?%d ? ? ? ? %d",p->grad,p->name,p->spec,p->stu_class,p->score1,p->score2,p->score3);
  302. ?? ??? ?p = p->next;
  303. ?? ?}?
  304. ?? ?fclose(w);
  305. ?? ?printf("写入成功!");?
  306. }
  307. ?
  308. char menu()
  309. {
  310. ?? ?char ch1;
  311. ?? ?printf(" ?\t\t\t\t ? ? ? ?欢迎访问学生信息登记系统! ? ? ? ? ? ? ? ?\n");
  312. ?? ?printf("\t\t\t ___________________________________________________________\n");
  313. ? ? printf("\t\t\t\t\t 1 ?Creatlist 写入信息创建链表并倒序输出\n");
  314. ?? ?printf("\t\t\t\t\t 2 ?Output 输出全部信息\n");
  315. ?? ?printf("\t\t\t\t\t 3 ?save 保存文件\n");
  316. ?? ?printf("\t\t\t\t\t 4 ?Fetch 随机读取\n");
  317. ?? ?printf("\t\t\t\t\t 5 ?Search num 指定查找\n");
  318. ?? ?printf("\t\t\t\t\t 6 ?Insertlist 添加信息 \n");
  319. ?? ?printf("\t\t\t\t\t 7 ?Delete num 指定删除\n");
  320. ?? ?printf("\t\t\t\t\t 8 ?Search_major _subject_score 特殊查找\n");
  321. ?? ?printf("\t\t\t\t\t 9 ?Delete_major _subject_score 特殊删除\n");
  322. ?? ?printf("\t\t\t\t\t 10 Exit 退出系统\n");
  323. ?? ?printf("\t\t\t ___________________________________________________________\n");
  324. }
  325. ?
  326. void read(StuLink &head)//读取文件函数?
  327. {
  328. ?? ?StuLink p = (student*)malloc(sizeof(student)),q = head->next;
  329. ?? ?char grad[10],name[10],spec[10],stu_class[10];
  330. ?? ?int score1,score2,score3;
  331. ?? ?FILE *w =fopen("2.txt","a");
  332. ?? ?if(w==NULL)
  333. ?? ?{
  334. ?? ??? ?printf("打开文件失败!\n");
  335. ?? ??? ?return;
  336. ?? ?}
  337. ?? ?else?
  338. {
  339. ?? ?StuLink p = head->next;
  340. ?? ?while(p)
  341. ?? ?{
  342. ?? ??? ?Output(p);
  343. ?? ??? ?p = p->next;
  344. ?? ?}
  345. ?? ?printf("输出成功!\n");?
  346. ?? ?fprintf(w,"\n%s %s ? ? ?%s ? ? ? %s ?%d ? ? ?%d ? ? ? ? %d",p->grad,p->name,p->spec,p->stu_class,p->score1,p->score2,p->score3);
  347. }
  348. ?? ?fclose(w);
  349. ?? ?//存入链表?
  350. }
  351. ?
  352. int main()
  353. {?? ?
  354. ?? ?StuLink H = CreateList(),temp;
  355. ?? ?int k;
  356. ?? ?menu();
  357. ?? ?scanf("%d",&k);
  358. ?? ?k = int(k);
  359. ?? ?while(k)
  360. ?? ?{
  361. ?? ??? ?k = int(k);
  362. ?? ??? ?switch(k)
  363. ?? ??? ?{
  364. ?? ??? ??? ?case 0:?
  365. ?? ??? ??? ??? ?break;
  366. ?? ??? ??? ?case 1:?
  367. ?? ??? ??? ??? ?{
  368. ?? ??? ??? ??? ?StuLink head = (student*)malloc(sizeof(student));
  369. ?? ??? ??? ??? ?StuLink p,q;
  370. ?? ??? ??? ??? ?p = head;
  371. ?? ??? ??? ??? ?q = head;
  372. ?? ??? ??? ??? ?char grad[10];//学号
  373. ?? ??? ??? ??? ?char name[10];//姓名
  374. ?? ??? ??? ??? ?char spec[10];//专业
  375. ?? ??? ??? ??? ?char stu_class[10];//班级?
  376. ?? ??? ??? ??? ?int score1;
  377. ?? ??? ??? ??? ?int score2;
  378. ?? ??? ??? ??? ?int score3;
  379. ?? ??? ??? ??? ?FILE *r= fopen("2.txt","r");
  380. ?? ??? ??? ??? ?if(r==NULL)
  381. ?? ??? ??? ??? ?{
  382. ?? ??? ??? ??? ??? ?printf("打开文件失败!");
  383. ?? ??? ??? ??? ?}
  384. ?? ??? ??? ??? ?fscanf(r,"%s%s%s%s%s%s%s",&a,&b,&c,&d,&e,&f,&g);//读取标题?
  385. ?? ??? ??? ??? ?while(fscanf(r,"%s%s%s%s%d%d%d",grad,name,spec,stu_class,&score1,&score2,&score3)!=EOF)
  386. ?? ??? ??? ??? ?{
  387. ?? ??? ??? ??? ??? ?q = (student*)malloc(sizeof(student));
  388. ?? ??? ??? ??? ??? ?strcpy(q->grad,grad);
  389. ?? ??? ??? ??? ??? ?strcpy(q->name,name);
  390. ?? ??? ??? ??? ??? ?strcpy(q->spec,spec);
  391. ?? ??? ??? ??? ??? ?strcpy(q->stu_class,stu_class);
  392. ?? ??? ??? ??? ??? ?q->score1 = score1;
  393. ?? ??? ??? ??? ??? ?q->score2 = score2;
  394. ?? ??? ??? ??? ??? ?q->score3 = score3;
  395. ?? ??? ??? ??? ??? ?p->next = q;?
  396. ?? ??? ??? ??? ??? ?p = q;
  397. ?? ??? ??? ??? ??? ?length++;
  398. ?? ??? ??? ??? ?}
  399. ?? ??? ??? ??? ?p->next = NULL;
  400. ?? ??? ??? ??? ?Sort(head);?
  401. ?? ??? ??? ??? ?StuLink k = head,t;
  402. ?? ??? ??? ??? ?while(k->next) ?
  403. ?? ??? ??? ??? ?k = k->next;
  404. ?? ??? ??? ??? ?printf("倒序输出:\n 学号 姓名 专业 班级 成绩1 成绩2 成绩3\n");
  405. ?? ??? ??? ??? ?while(k!=head)
  406. ?? ??? ??? ?{?? ?//倒序输出?
  407. ?? ??? ??? ??? ?t = head;
  408. ?? ??? ??? ??? ?while(t->next!=k)
  409. ?? ??? ??? ??? ?t = t->next;//t为k前驱?
  410. ?? ??? ??? ??? ?Output(k);
  411. ?? ??? ??? ??? ?k = t;
  412. ?? ??? ??? ?}
  413. ?? ??? ?}
  414. ?? ??? ??? ??? ?menu();
  415. ?? ??? ??? ??? ?break;
  416. ?? ??? ??? ?case 2:?? ?
  417. ?? ??? ??? ??? ?Print_List(H);
  418. ?? ??? ??? ??? ?menu();
  419. ?? ??? ??? ??? ?break;
  420. ?? ??? ??? ?case 3:?
  421. ?? ??? ??? ??? ?Save(H);
  422. ?? ??? ??? ??? ?menu();
  423. ?? ??? ??? ??? ?break;
  424. ?? ??? ??? ?case 4:?
  425. ?? ??? ??? ??? ?Fetch(H);
  426. ?? ??? ??? ??? ?menu();
  427. ?? ??? ??? ??? ?break;
  428. ?? ??? ??? ?case 5:?
  429. ?? ??? ??? ??? ?temp = Search_num(H);
  430. ?? ??? ??? ??? ?if(temp)
  431. ?? ??? ??? ??? ??? ?{?? ?
  432. ?? ??? ??? ??? ??? ??? ?printf("指针为:%d\n",temp);?
  433. ?? ??? ??? ??? ??? ??? ?printf(" 学号 姓名 专业 班级 成绩1 成绩2 成绩3\n");
  434. ?? ??? ??? ??? ??? ??? ?Output(temp);
  435. ?? ??? ??? ??? ??? ?}
  436. ?? ??? ??? ??? ?else?
  437. ?? ??? ??? ??? ??? ?printf("不存在此学生!\n");
  438. ?? ??? ??? ??? ?menu();
  439. ?? ??? ??? ??? ?break;
  440. ?? ??? ??? ?case 6:?
  441. ?? ??? ??? ??? ?InsertList(H);
  442. ?? ??? ??? ??? ?menu();
  443. ?? ??? ??? ??? ?break;
  444. ?? ??? ??? ?case 7:?
  445. ?? ??? ??? ??? ?Delete_num(H);
  446. ?? ??? ??? ??? ?menu();
  447. ?? ??? ??? ??? ?break;
  448. ?? ??? ??? ?case 8:
  449. ?? ??? ??? ??? ?temp = Search_major_subject_score(H);
  450. ?? ??? ??? ??? ?if(temp)
  451. ?? ??? ??? ??? ??? ?{
  452. ?? ??? ??? ??? ??? ??? ?printf("指针为:%d\n",temp);?
  453. ?? ??? ??? ??? ??? ??? ?printf(" 学号 姓名 专业 班级 成绩1 成绩2 成绩3\n");
  454. ?? ??? ??? ??? ??? ??? ?Output(temp);
  455. ?? ??? ??? ??? ??? ?}
  456. ?? ??? ??? ??? ?else?
  457. ?? ??? ??? ??? ??? ?printf("不存在此学生!\n");
  458. ?? ??? ??? ??? ??? ?menu();
  459. ?? ??? ??? ??? ?break;
  460. ?? ??? ??? ?case 9:
  461. ?? ??? ??? ??? ?Delete_major_subject(H);?
  462. ?? ??? ??? ??? ?menu();
  463. ?? ??? ??? ??? ?break;
  464. ?? ??? ??? ?case 99:
  465. ?? ??? ??? ??? ?read(H);
  466. ?? ??? ??? ??? ?menu();
  467. ?? ??? ??? ??? ?break;
  468. ?? ??? ??? ?case 10:
  469. ?? ??? ??? ??? ?printf("\n ? ?~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); ? ? //退出提示
  470. ?? ??? ??? ??? ?printf(" ? ? ? ? ? ? Goodbye! ? ? ? ? \n");
  471. ?? ??? ??? ??? ?printf(" ? ?~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
  472. ?? ??? ??? ??? ?exit(0);//将程序退出?
  473. ?? ??? ??? ?default:
  474. ?? ??? ??? ??? ?printf("输入有误,请重新输入!\n");?
  475. ?? ??? ?}?
  476. ?? ??? ?printf("请输入选项:");
  477. ?? ??? ?scanf("%d",&k);
  478. ?? ?}
  479. ?? ?return 0;
  480. }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持w3xue。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号