要求用(if语句 循环结构 嵌套等入门级最简单的方法)实现以下这些功能 有没有人可以帮助我!
2条回答 默认 最新
- fuill 2022-05-21 20:21关注
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include <windows.h> struct user { char name[10]; char gender[5]; int id; char sfznum[25]; char phone[15]; char email[25]; char code[25]; } User[150]; int count=0; void sheelpsec(int n) { for(int i=0; i<n; i++) { printf("%d秒后关闭\n",n-i); Sleep(1000); //printf("\b\b\b\b\b\b\b\b\b"); } } int isemail(char t[],int n) { int pos=0; for(int i=0; i<n; i++) { if(t[i]=='@'||t[i]=='.'||t[i]=='c'||t[i]=='o'||t[i]=='m') { pos++; } } if(pos>=5) return 1; else return 0; } void put(int n) { for(int i=0; i<n; i++) { printf("姓名:%s 性别:%s 学号:%d 身份证号:%s 电话号:%s 邮箱:%s\n", User[i].name,User[i].gender,User[i].id,User[i].sfznum,User[i].phone,User[i].email); } } int registered(int i) { puts("欢迎来到注册界面"); fflush(stdin); puts("注册"); puts("输入姓名:"); gets(User[i].name); puts("输入性别:"); gets(User[i].gender); puts("输入学号:"); scanf("%d",&User[i].id); getchar(); puts("输入身份证号:"); gets(User[i].sfznum); puts("输入电话号码:"); gets(User[i].phone); puts("输入邮箱:"); gets(User[i].email); puts("输入密码:"); gets(User[i].code); puts("再次输入确认密码:"); char tem[25]; gets(tem); if(strcmp(tem,User[i].code)!=0) { puts("两次密码输入不一样,注册失败"); return 0; } if(isemail(User[i].email,strlen(User[i].email))==0) { system("cls"); puts("邮箱不正确,注册失败"); sheelpsec(5); return 0; } puts("注册成功"); count++; return 1; } int login() { puts("欢迎来到登录界面"); fflush(stdin); char phonetem[15],codetem[25],yanzm[6],yanzmtem[6]; srand((unsigned)time(NULL)); for(int i=0; i<5; i++) { yanzm[i]=rand()%10+48; } yanzm[5]='\0'; puts("登录"); puts("请输入电话号:"); gets(phonetem); puts("请输入密码:"); gets(codetem); printf("验证码:"); puts(yanzm); puts("请输入验证码:"); gets(yanzmtem); if(strcmp(yanzm,yanzmtem)!=0) { puts("验证码错误"); return 0; } for(int i=0; i<count; i++) { if(strcmp(User[i].phone,phonetem)==0) { if(strcmp(User[i].code,codetem)==0) { system("cls"); puts("登录成功"); return 1; } puts("密码错误"); return 0; } } puts("此手机号未注册"); return 0; } void menu() { int option=3; while(option) { puts("1.正方教务系统"); puts("2.正方学工系统"); puts("3.电子注册"); puts("4.优慕课平台"); puts("5.学生请假申请"); puts("6.泛微OA"); puts("7.图书借阅"); puts("8.网上缴费"); puts("9.返回登录"); puts("10.退出"); puts("请选择:"); scanf("%d",&option); switch(option) { case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: { int pos=login(); while(pos==0) { system("cls"); pos=login(); } } case 10: exit(0); default: { puts("选择错误,请重新输入:") ; break; } } } } void mainmenu() { int option=3; while(option) { puts("智慧校园门户"); puts("1.登录"); puts("2.注册"); puts("3.退出"); puts("请选择:"); scanf("%d",&option); switch(option) { case 1: { int pos=login(); while(pos==0) { puts("1.继续登录"); puts("2.返回"); int opt=1; scanf("%d",&opt); if(opt==1) { system("cls"); pos=login(); } else if(opt==2) { mainmenu(); } else { puts("输入错误,重新选择"); } } system("cls"); //menu(); break; } case 2: { int pos=registered(count); while(pos==0) { puts("1.继续注册"); puts("2.返回"); int opt=1; scanf("%d",&opt); if(opt==1) { system("cls"); pos=registered(count); } else if(opt==2) { mainmenu(); } else { puts("输入错误,重新选择"); } system("cls"); //pos=registered(count); } int pos1=login(); while(pos1==0) { puts("1.继续登录"); puts("2.返回"); int opt=1; scanf("%d",&opt); if(opt==1) { system("cls"); pos=login(); } else if(opt==2) { mainmenu(); } else { puts("输入错误,重新选择"); } system("cls"); pos1=login(); } system("cls"); menu(); break; } case 3: { return; } default: { puts("选择错误,请重新输入:") ; break; } } } system("cls"); menu(); } int main() { mainmenu(); return 0; }
解决 3无用
悬赏问题
- ¥15 C# P/Invoke的效率问题
- ¥20 thinkphp适配人大金仓问题
- ¥20 Oracle替换.dbf文件后无法连接,如何解决?(相关搜索:数据库|死循环)
- ¥15 数据库数据成问号了,前台查询正常,数据库查询是?号
- ¥15 算法使用了tf-idf,用手肘图确定k值确定不了,第四轮廓系数又太小才有0.006088746097507285,如何解决?(相关搜索:数据处理)
- ¥15 彩灯控制电路,会的加我QQ1482956179
- ¥200 相机拍直接转存到电脑上 立拍立穿无线局域网传
- ¥15 (关键词-电路设计)
- ¥15 如何解决MIPS计算是否溢出
- ¥15 vue中我代理了iframe,iframe却走的是路由,没有显示该显示的网站,这个该如何处理