来自小小怪的C语言,小白一枚。代码的未知错误可能还存在,谢谢各位集美来找错误!
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录- 系列文章目录
- 前言
- 一、pandas是什么?
- 二、使用步骤
- 1.引入库
- 2.读入数据
- 总结
库?NO(不需要下载第三方库)
我们都知道,C语言需要很多第三方库,但是安装起来非常麻烦。windows和macOS的库有很多区别。所以一些第三方库macOS不能用,Xcode编译器也不能安装一些库。小小怪我是Mac,所以写这篇C作业的时候避免了很多C的第三方库,需要下载的第三方库一个都没有。
没有需要下载的库使我非常容易,但是呢?代码的效果看起来不太完美。
提示:以下是本篇文章正文内容,下面案例可供参考
一、代码效果欢迎您使用此备忘录
请按相应数字键进入相应模式
输入 1 进入日历模式
输入 2 进入备忘录模式
输入 3 进入休闲模式北
二、 代码环节1.函数部分
这是备忘录的函数部分
//1.1 进入查询星期模式 int whatDay(int year, int month, int day){ int W;//年月日 if (month > 12 || month < 0) { printf("输入月份无效n");//判断输入月份无效 } if (day > 31 || month < 1) { printf("输入日无效n");//判断输入日无效 } if (month < 3) { month += 12; year -= 1; } W= (day+2*month+3*(month+1)/5+year+year/4-year/100+year/400)%7; switch (W) { case 0: printf("查询结果为:星期一n"); break; case 1: printf("查询结果为:星期二n"); break; case 2: printf("查询结果为:星期三n"); break; case 3: printf("查询结果为:星期四n"); break; case 4: printf("查询结果为:星期五n"); break; case 5: printf("查询结果为:星期六n"); break; case 6: printf("查询结果为:星期日n"); break; } printf("查询完毕!n"); return 1; } //进入查询天数模式 int howManyDays(int year, int month, int day){ int i, sum = 0; if (month > 12 || month < 0) { printf("输入月份无效n");//判断输入月份无效 } if (day > 31 || month < 1) { printf("输入日无效n");//判断输入日无效 } int dayOfMonth[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 }; for(i = 0; i < month -1; i++){ sum += dayOfMonth[i]; } sum += day; if (year % 4 == 0 && year % 100 != 0|| year % 400 == 0) //判断该年是否是闰年 { if (month > 2) { sum = sum + 1; } else { sum = sum + 0; } } else { sum = sum + 0; } return sum; //返回sum; } //查询历史备忘录 int printfHistory(int year, int month, int day){ int HistorySum = 1, i; WriteNote writenote[50]; for (i = 0; i < 50; i++) { //按照日期查找 if (year == writenote[i].date.year && month == writenote[i].date.month && day == writenote[i].date.day ) { HistorySum ++; printf("查询成功!n"); printf("备忘录内容为:n"); printf("%sn", writenote[i].notes); break; } else{ HistorySum = -1; } } if (HistorySum == -1) { printf("查询失败,该日期下暂无笔记n"); } return HistorySum; } //写备忘录 int writeBooks(int year, int month, int day, int rank){ int writeBooksum = 0; WriteNote writenote[50]; //录入备忘录日期 writenote[rank].date.year = year; writenote[rank].date.month = month; writenote[rank].date.day = day; printf("请开始输入备忘录内容n"); scanf("%s", &writenote[rank].notes); printf("输出所写内容 %sn", writenote[rank].notes); printf("添加备忘录成功n"); return writeBooksum; } //打印*和数字 void printfun() { int i,j; for(i=0;i
函数实现:
int whatDay(int year, int month, int day);//1.1查询星期模式 int howManyDays(int year, int month, int day);//1.2查询天数模式 int printfHistory(int year, int month, int day);//输出历史备忘录 int writeBooks(int year, int month, int day, int rank);//写备忘录 int a[N][N],b[N][N]; void printfun();//输出* void printA(); int fun(int i,int j);2.主函数
代码如下(示例):
printf("输入 5 进入查询天数模式n");
printf("请按相应数字键进入相应模式n");
int menu, sum;
float d = 5, w = 4;//d:1.2模式。 w:1.1模式
scanf("%d",&menu); //查询菜单
if (menu == w) {//进入4查询星期模式
printf("您已进入查询星期模式n");
printf("请输入年月日--格式为xxxx,xx,xxn");//如2022,6,1
scanf("%d,%d,%d",&date.year, &date.month, &date.day);
whatDay(date.year, date.month, date.day);
printf("输入(0)返回上一步,输入任意数字键返回目录页n");
scanf("%d",&back);
if (back) {
goto LOOP1;//输入任意数字键返回目录页
}else{
goto LOOP2;//输入(0)返回上一步
}
}
else if (menu == d){//5 进入查询天数模式
printf("您已进入查询天数模式n");
printf("请输入年月日--格式为xxxx,xx,xxn");//如2022,6,1
scanf("%d,%d,%d",&date.year, &date.month, &date.day);
sum = howManyDays(date.year,date.month,date.day);
printf("该日期为本年的第%d天n",sum);
printf("输入(0)返回上一步,输入任意数字键返回目录页n");
scanf("%d",&back);
if (back) {
goto LOOP1;//输入任意数字键返回目录页
}else{
goto LOOP2;//输入(0)返回上一步
}
}
else{
printf("输入模式错误!");
}
break;
case 2:
printf("您已进入备忘录模式n");
printf("输入 6 查询历史备忘录n");
printf("输入 7 写备忘录n");
int model , six = 6, seven = 7;
scanf("%d",&model);
if (model == six) {
printf("当前为查询备忘录模式n");
printf("输入查询备忘录的日期n");
scanf("%d,%d,%d",&date.year, & date.month, &date.day);
printfHistory(date.year, date.month, date.day);
printf("输入(0)返回上一步,输入任意数字键返回目录页n");
scanf("%d",&back);
if (back) {
goto LOOP1;//输入任意数字键返回目录页
}else{
goto LOOP2;//输入(0)返回上一步
}
}
if (model == seven) {
int rank;
printf("当前为写备忘录模式n");
printf("输入写入备忘录的日期以及备忘录重要程度: (输入格式要求:xxxx,xx,xx,xx)n");
scanf("%d,%d,%d,%d",&date.year, & date.month, &date.day, &rank);
writeBooks(date.year, date.month, date.day, rank);
printf("输入(0)返回上一步,输入任意数字键返回目录页n");
scanf("%d",&back);
if (back) {
goto LOOP1;//输入任意数字键返回目录页
}else{
goto LOOP2;//输入(0)返回上一步
}
}
else{
printf("输入错误!");
}
break;
case 3:
printf("您已进入休闲模式北nn");
printf("马上进入休闲模式之扫雷♨️n");
printf("输入任意非 0 数字键游戏开始n ");
scanf("%d", &star);
if (star){
int i, j, coordinate, mine, asum, flag;
loop:
mine=0;
asum=N*N-1;
srand((unsigned)time(0));//随机数
for(i=0;iN*10+N);
i = coordinate/10-1;
j = coordinate%10-1;
b[i][j] = 1;
asum--;
}while(a[i][j] != -1 && asum != mine);
printA();
if(a[i][j] == -1){
printf("n引爆地雷!-1代表地雷!n");
printf("输入(0)返回上一步,输入任意数字键返回目录页n");
scanf("%d",&back);
if (back) {
goto LOOP1;//输入任意数字键返回目录页
}else{
goto LOOP2;//输入(0)返回上一步
}
}
else{
printf("n扫雷成功!n");
printf("输入(0)返回上一步,输入任意数字键返回目录页n");
scanf("%d",&back);
if (back) {
goto LOOP1;//输入任意数字键返回目录页
}else{
goto LOOP2;//输入(0)返回上一步
}
}
getchar();
goto loop;
}
}
return 0;
}
//1.1 进入查询星期模式
int whatDay(int year, int month, int day){
int W;//年月日
if (month > 12 || month < 0) {
printf("输入月份无效n");//判断输入月份无效
}
if (day > 31 || month < 1) {
printf("输入日无效n");//判断输入日无效
}
if (month < 3) {
month += 12;
year -= 1;
}
W= (day+2*month+3*(month+1)/5+year+year/4-year/100+year/400)%7;
switch (W) {
case 0:
printf("查询结果为:星期一n");
break;
case 1:
printf("查询结果为:星期二n");
break;
case 2:
printf("查询结果为:星期三n");
break;
case 3:
printf("查询结果为:星期四n");
break;
case 4:
printf("查询结果为:星期五n");
break;
case 5:
printf("查询结果为:星期六n");
break;
case 6:
printf("查询结果为:星期日n");
break;
}
printf("查询完毕!n");
return 1;
}
全部代码
这是全部的代码
#include#include #include #include #include #include #define N 10 //(日期)结构体 typedef struct Date{ int year; int month; int day; //int whatDay;//星期几 }Dates; //备忘录结构体 typedef struct Notes{ struct Date date; char notes[200]; }WriteNote; int whatDay(int year, int month, int day);//1.1查询星期模式 int howManyDays(int year, int month, int day);//1.2查询天数模式 int printfHistory(int year, int month, int day);//输出历史备忘录 int writeBooks(int year, int month, int day, int rank);//写备忘录 int a[N][N],b[N][N]; void printfun(void);//输出* void printA(void); int fun(int i,int j); int main(void){ printf("欢迎您使用此备忘录n"); LOOP1: printf("请按相应数字键进入相应模式n"); printf("输入 1 进入日历模式n"); printf("输入 2 进入备忘录模式n"); printf("输入 3 进入休闲模式北n"); int catalogue;//目录模式 scanf("%d",&catalogue); int back;//返回数字键 int star;//开始 LOOP2: switch(catalogue){ case 1: printf("您已进入日历模式n"); printf("输入 4 进入查询星期模式n"); printf("输入 5 进入查询天数模式n"); printf("请按相应数字键进入相应模式n"); int menu, sum; float d = 5, w = 4;//d:1.2模式。 w:1.1模式 scanf("%d",&menu); //查询菜单 if (menu == w) {//进入4查询星期模式 printf("您已进入查询星期模式n"); printf("请输入年月日--格式为xxxx,xx,xxn");//如2022,6,1 scanf("%d,%d,%d",&date.year, &date.month, &date.day); whatDay(date.year, date.month, date.day); printf("输入(0)返回上一步,输入任意数字键返回目录页n"); scanf("%d",&back); if (back) { goto LOOP1;//输入任意数字键返回目录页 }else{ goto LOOP2;//输入(0)返回上一步 } } else if (menu == d){//5 进入查询天数模式 printf("您已进入查询天数模式n"); printf("请输入年月日--格式为xxxx,xx,xxn");//如2022,6,1 scanf("%d,%d,%d",&date.year, &date.month, &date.day); sum = howManyDays(date.year,date.month,date.day); printf("该日期为本年的第%d天n",sum); printf("输入(0)返回上一步,输入任意数字键返回目录页n"); scanf("%d",&back); if (back) { goto LOOP1;//输入任意数字键返回目录页 }else{ goto LOOP2;//输入(0)返回上一步 } } else{ printf("输入模式错误!"); } break; case 2: printf("您已进入备忘录模式n"); printf("输入 6 查询历史备忘录n"); printf("输入 7 写备忘录n"); int model , six = 6, seven = 7; scanf("%d",&model); if (model == six) { printf("当前为查询备忘录模式n"); printf("输入查询备忘录的日期n"); scanf("%d,%d,%d",&date.year, & date.month, &date.day); printfHistory(date.year, date.month, date.day); printf("输入(0)返回上一步,输入任意数字键返回目录页n"); scanf("%d",&back); if (back) { goto LOOP1;//输入任意数字键返回目录页 }else{ goto LOOP2;//输入(0)返回上一步 } } if (model == seven) { int rank; printf("当前为写备忘录模式n"); printf("输入写入备忘录的日期以及备忘录重要程度: (输入格式要求:xxxx,xx,xx,xx)n"); scanf("%d,%d,%d,%d",&date.year, & date.month, &date.day, &rank); writeBooks(date.year, date.month, date.day, rank); printf("输入(0)返回上一步,输入任意数字键返回目录页n"); scanf("%d",&back); if (back) { goto LOOP1;//输入任意数字键返回目录页 }else{ goto LOOP2;//输入(0)返回上一步 } } else{ printf("输入错误!"); } break; case 3: printf("您已进入休闲模式北nn"); printf("马上进入休闲模式之扫雷♨️n"); printf("输入任意非 0 数字键游戏开始n "); scanf("%d", &star); if (star){ int i, j, coordinate, mine, asum, flag; loop: mine=0; asum=N*N-1; srand((unsigned)time(0));//随机数 for(i=0;i N*10+N); i = coordinate/10-1; j = coordinate%10-1; b[i][j] = 1; asum--; }while(a[i][j] != -1 && asum != mine); printA(); if(a[i][j] == -1){ printf("n引爆地雷!-1代表地雷!n"); printf("输入(0)返回上一步,输入任意数字键返回目录页n"); scanf("%d",&back); if (back) { goto LOOP1;//输入任意数字键返回目录页 }else{ goto LOOP2;//输入(0)返回上一步 } } else{ printf("n扫雷成功!n"); printf("输入(0)返回上一步,输入任意数字键返回目录页n"); scanf("%d",&back); if (back) { goto LOOP1;//输入任意数字键返回目录页 }else{ goto LOOP2;//输入(0)返回上一步 } } getchar(); goto loop; } } return 0; } //1.1 进入查询星期模式 int whatDay(int year, int month, int day){ int W;//年月日 if (month > 12 || month < 0) { printf("输入月份无效n");//判断输入月份无效 } if (day > 31 || month < 1) { printf("输入日无效n");//判断输入日无效 } if (month < 3) { month += 12; year -= 1; } W= (day+2*month+3*(month+1)/5+year+year/4-year/100+year/400)%7; switch (W) { case 0: printf("查询结果为:星期一n"); break; case 1: printf("查询结果为:星期二n"); break; case 2: printf("查询结果为:星期三n"); break; case 3: printf("查询结果为:星期四n"); break; case 4: printf("查询结果为:星期五n"); break; case 5: printf("查询结果为:星期六n"); break; case 6: printf("查询结果为:星期日n"); break; } printf("查询完毕!n"); return 1; } //进入查询天数模式 int howManyDays(int year, int month, int day){ int i, sum = 0; if (month > 12 || month < 0) { printf("输入月份无效n");//判断输入月份无效 } if (day > 31 || month < 1) { printf("输入日无效n");//判断输入日无效 } int dayOfMonth[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 }; for(i = 0; i < month -1; i++){ sum += dayOfMonth[i]; } sum += day; if (year % 4 == 0 && year % 100 != 0|| year % 400 == 0) //判断该年是否是闰年 { if (month > 2) { sum = sum + 1; } else { sum = sum + 0; } } else { sum = sum + 0; } return sum; //返回sum; } //查询历史备忘录 int printfHistory(int year, int month, int day){ int HistorySum = 1, i; WriteNote writenote[50]; for (i = 0; i < 50; i++) { //按照日期查找 if (year == writenote[i].date.year && month == writenote[i].date.month && day == writenote[i].date.day ) { HistorySum ++; printf("查询成功!n"); printf("备忘录内容为:n"); printf("%sn", writenote[i].notes); break; } else{ HistorySum = -1; } } if (HistorySum == -1) { printf("查询失败,该日期下暂无笔记n"); } return HistorySum; } //写备忘录 int writeBooks(int year, int month, int day, int rank){ int writeBooksum = 0; WriteNote writenote[50]; //录入备忘录日期 writenote[rank].date.year = year; writenote[rank].date.month = month; writenote[rank].date.day = day; printf("请开始输入备忘录内容n"); scanf("%s", &writenote[rank].notes); printf("输出所写内容 %sn", writenote[rank].notes); printf("添加备忘录成功n"); return writeBooksum; } //打印*和数字 void printfun() { int i,j; for(i=0;i



