if(matlab if strcmpp(deleteltNumber,number)==0)这句报错怎么回事呀

请问下面这个删除是这么实现的_百度知道
请问下面这个删除是这么实现的
void delete_number(void)
char number[20];
vistor *p,*q;
char flag=0;
printf(&请输入要删除旅客的房间编号:&);
scanf(&%s&,number);
q=headLink-&
if(strcmp(q-&number,number)==0)
p-&next=...
我有更好的答案
headlink--&4p--&3--&;3--&,不一样,可以这样理解:一开始有这样一个链表headlink--&1--&gt..,比如说4首先q指向1,p指向q前一位(headlink)对比q与所找的数4;1--&2--&2--&4--&2此时对比成功执行以下操作p的下一个指向q的下一个.现在找某个数字;3再free清空4得到以下序列,所以继续往下q--&2p--&1对比falseq--&gt:2--&3;4--&gt..指针
采纳率:57%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。strcmp(word[i],word[k])==0_百度知道
strcmp(word[i],word[k])==0
我有更好的答案
const char * s2); strcmp声明如上所示,所以有可能是错的,只是有可能,看你的word是指向几维的数组extern int strcmp(const char *s1
用文字描述一下吧
采纳率:46%
所要求的单词为;/打印最大的前5个
max=0; int i=0,j=0,k=0,flag=0;/看看是否有相同单词
if(strcmp(word[i]:\n&A&#39,total=0;大写转小写
word[i][j]=='Z'单词相同
count_word[k]++;) || (ch&='
} } printf(&quot,l=0;a'
if(max==0)
printf(& printf(& && ch&/单词的总数
word[i][j]='\))
if(ch&='A'&& ch& please input a English article:\n&\0';=' while((ch=getchar()),word[k])==0)/&#47!='
/\n') {
if((ch&-------------------------&); for(l=0;
//单词结束
count_word[i]++;
for(k=0;z'
//l&5;l++)/=' && ch&);=' char word[1000][20]; int count_word[1000]=;注意修改标志
if(flag==1)
maxno=0;k&i;k++)/);单词频率增加
count_word[i]=0;
i--;/所以i就不能增加
i++; printf(&k&i;k++)
if(count_word[k]&max)
max=count_word[k];\n%-10s&,word[maxno]);count_word[maxno]=0; } getchar()char ch=')ch+=32;Z&#39
为您推荐:
其他类似问题
您可能关注的内容
strcmp的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。if(strcmp(a[i].name,a[i+1].name)&0)什么意思_百度知道
if(strcmp(a[i].name,a[i+1].name)&0)什么意思
我有更好的答案
A字符串大于B字符串 则返回为&1A字符串等于B字符串 则返回为0A字符串小于B字符串 则返回为&1
如果a[i].name字串大于a[i+1],则=0小于.name字串
相同比较两个字串
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。程序if (strcmp(student[i].number,number)==0)出现警告怎么办_百度知道
程序if (strcmp(student[i].number,number)==0)出现警告怎么办
程序if (strcmp(student[i].number,number)==0)出现警告怎么办警告内容是passing argument 1 of ‘strcmp’ from incompatible pointer type [enabled by default]
我有更好的答案
strcmp(char* a,char* b)//它是比较两个字符串的函数,传入的是两个字符串的首地址。如果number只是值变量,直接用student[i].number == number就好了。
采纳率:69%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。大一作业写学生成绩管理系统,给指错好么。。。 - Ang_ler的博客 - CSDN博客
大一作业写学生成绩管理系统,给指错好么。。。
#include&stdio.h&
#include&string.h&
#include&stdlib.h&
#define MAXN 100 // 一个班最多的人数&
#define MAXM  100 &// 最多课程门数&
struct student
char subject[100]; //课程&
float score[100][100]; & //课程成绩&
float sum[100];&
char number[100][12]; &//学号&
char name[100][20]; & // 姓名&
int n=0,m=0;
int input();
int input1();
int inputBatch();//批量输入全部成绩&
int input2();
int search();
int sort();
int sort1();
int sort2();
int sort3();
int save();
int load();
int deletelt();
int print();
int print1();
int printMsg(char *msg);
int menu();
int starLine();
&int main()
& int menu()
& while(1)
& printf(&\n&);
& printf(&***************************************************************&);
& printf(& |\t\t\t\t\t\t\t|\n&);
& printf(& |\t\t 学生成绩管理系统\t\t\t|\n&);
& printf(& |\t\t\t\t\t\t\t|\n&);
& printf(& |\t 1.成绩录入\t&);
& printf(&\t 2.删除记录\t\t|\n&);
& printf(& |\t 3.查找记录\t|&);
printf(&\t 4.成绩排序\t|\t\n&);
printf(& |\t 5.记录读取\t&);
printf(&\t 6.记录保存\t\t|\n&);
printf(& |\t 7.报表显示\t&);
& &printf(&\t 8.退出系统\t\t&);
& &printf(&***************************************************************&);
& &printf(&\n 请输入您的选择编号:&);
scanf(&%d&,&select);
switch(select)
case 1:input();
case 2:deletelt();
case 3:search();
case 4:sort();
case 5:load();
case 6:save();
case 7:print();system(&pause&);system(&cls&);
case 8:printf(&\n\t\t@@@@ 谢谢您的使用 @@@@!!\n\n\n\n&);
& &return 1;
&int input()
&//输入成绩模块&
& while(1)
& printf(&&& 1.录入全班学生成绩\n&);
& printf(&&& 2.增加一条成绩记录\n&);
& printf(&&& 0.返回主菜单\n&);
& printf(&\n 请输入您的选择编号:&);
scanf(&%d&,&select);
switch(select)
case 1:system(&cls&);input1();
case 2:system(&cls&);input2();
case 3:system(&cls&);return 0;
int input1()
char confirm[10];
printf(&\n @使用&录入全班学生成绩&功能将清除现有数据,是否继续(yes/no)?&);
scanf(&%s&,confirm);
if(strcmp(confirm,&yes&)==0)
inputBatch();
& inputBatch();
int inputBatch()
char subject[100],number[100],name[100],sum[100],score[100][100];
printf(&************************ 成绩录入 ***************************\n&);&
& & printf(&-------------------------------------------------------------\n&);
& & printf(& 请输入全班人数:&);
scanf(&%d&,&n);
printf(& 请输入课程门数:&);
scanf(&%d&,&m);
printf(& 请输入%d门课程名称\n&,m);
for(j=0;j&m;j++)
printf(& & 第%d门课程名称:&,j+1);
scanf(&%s&,subject[j]);&
printf(&输入%d学生成绩记录\n&,n);
for(i=0;i&n;i++)
printf(& & 请输入第%d个学生的数据\n&,i+1);
printf(&\t学号:&);
scanf(&%s&,number[i]);
printf(&\t姓名:&);
scanf(&%s&,name[i]);
printf(&\t输入%d门课程的成绩:\n&,m);
sum[i]=0; & //边输入便统计总成绩&
for(j=0;j&m;j++)
printf(&\t\t%s:&,subject[j]);
scanf(&%f&,&score[i][j]);//行下标区分不同学生,列下标区分不同课程&
& &sum[i]=sum[i]+score[i][j];&
int input2() & // 增加成绩记录&
char number[100],name[100];
printf(&********************* 增加学生成绩记录 ************************\n&);
printf(&---------------------------------------------------------------\n&);
for(i=0;i&n;i++)
printf(& & 请输入第%d个学生的数据\n&,i+1);
printf(&\t学号:&);
scanf(&%s&,number[i]);
printf(&\t姓名:&);
scanf(&%s&,name[i]);
printf(&\t输入%d门课程的成绩:\n&,m);
& & printf(&---------------------------------------------------------------\n&);
int deletelt() &//删除界面&
char deleteltNumber[12],score[100][100];
int i,j,k;
int delFlag=0;//0为已删除,
system(&cls&);
printf(&请输入要删除记录的学号 &&退出删除:quit&:&);
scanf(&%s&,deleteltNumber);
if(strcmp(deleteltNumber,&quit&)!=0)
& printf(&正在删除……%s的记录\n&,deleteltNumber);
& system(&cls&);
& for(i=0;i&n;i++)
if(strcmp(deleteltNumber,number[i])==0)
& & & & for(j=i;j&n-1;j++)
& & & & &{
strcpy(number[j],number[j+1]);
strcpy(name[j],name[j+1]);
& & & & &for(k=0;k&m;k++)
& & & & &{
score[j][k]=score[j+1][k];// 行下标区分不同学生,列下标 区分不同课程
delFlag++;&
if(delFlag&0)
printf(&@已成功删除%d条记录! 删除后的成绩表如下:\n&,delFlag);
& starLine();
& printf(& @未找到符合条件的记录!\n&);
& & system(&cls&);
& & starLine();
& & printf(& @用户中止删除记录!\n\n&);
printf(& @按任意键返回主菜单\n\n&);
system(&pause&);
system(&cls&);
int search() &// 成绩查询&
int search1();
int search2();
int select,index=-1;
printf(& & 1.按学号查询\n&);
printf(& & 2.按姓名查询\n&);
printf(& & 0.返回\n&);
printf(&\n#记录查找 - 请输入您的选择编号:&);
scanf(&%d&,&select);
switch(select)
case 1:index=search1();
case 2:index=search2();
case 0:system(&cls&);
if(index!=-1)
system(&cls&);
printf(&符合条件的记录如下:\n&);
printf(&***************************************************\n&);
printf(&\t学号:%s\n&,number[index]);
printf(&\t姓名:%s\n&,number[index]);
for(j=0;j&m;j++)
printf(&\t%12s:&,subject[j]);
printf(&%5.1f\n&,score[index][j]);
printf(&\n\t总成绩:%10.2f&,subject[j]);
printf(&\t平均成绩:%10.2f\n&,sum[index]/m);
system(&cls&);
starLine();
printf(& @没有该学生的信息\n\n&);
int search1() & // 按学号查询 &
& char s_number[10];
& printf(&请输入要查询的学号:&);
scanf(&%s&,s_number);
for(i=0;i&n;i++)
if(strcmp(number[i],s_number)==0)
return -1;
int search2() &// 按姓名查询&
& char s_name[10];
& printf(&请输入要查询的姓名:&);
scanf(&%s&,s_name);
for(i=0;i&n;i++)
if(strcmp(name[i],s_name)==0)
return -1;
int sort() &//排序&
printf(&\n 【成绩排序】\n&);
printf(& && 1.按学号排序\n&);
printf(& && 2.按姓名排序\n&);
printf(& && 3.按总成绩排序(由高到低)\n&);
printf(& && 0.返回主菜单\n&);
printf(&\n 请输入您的选择编号:&);
scanf(&%d&,&select);
switch(select)
case 1:system(&cls&);sort1();
case 2:system(&cls&);sort2();
case 3:system(&cls&);sort3();
case 0:system(&cls&);return 0;
int sort1() & &//按学号排序&
int i,j,k;
char x_number[10];
char x_name[20];
for(i=0;i&n;i++)
for(j=0;j&n-1-i;j++)
&if(strcmp(number[j],number[j+1])&0)
& strcpy(x_number,number[j]);
& strcpy(number[j],number[j+1]);
& strcpy(number[j+1],x_number);
& strcpy(x_name,name[j]);
& strcpy(name[j],name[j+1]);
& strcpy(name[j+1],x_name);
& for(k=0;k&m;k++)
& & &x=score[j][k];
score[j][k]=score[j+1][k];
score[j+1][k]=x;
sum[j]=sum[j+1];
sum[j+1]=x;&
printf(&祝贺! 排序完毕。 && 按学号排序后的成绩表如下:\n&);
int sort2() &//按姓名排序&
int i,j,k;
char x_number[10];
char x_name[20];
for(i=0;i&n;i++)
for(j=0;j&n-1-i;j++)
&if(strcmp(name[j],name[j+1])&0)
& strcpy(x_number,number[j]);
& strcpy(number[j],number[j+1]);
& strcpy(number[j+1],x_number);
& strcpy(x_name,name[j]);
& strcpy(name[j],name[j+1]);
& strcpy(name[j+1],x_name);
& for(k=0;k&m;k++)
& & &x=score[j][k];
score[j][k]=score[j+1][k];
score[j+1][k]=x;
sum[j]=sum[j+1];
sum[j+1]=x;&
printf(&祝贺! 排序完毕。 && 按姓名排序后的成绩表如下:\n&);
int sort3() & //按总成绩排序&
int i,j,k;
char x_number[10];
char x_name[20];
for(i=0;i&n;i++)
for(j=0;j&n-1-i;j++)
&if(strcmp(number[j],number[j+1])&0)
& strcpy(x_number,number[j]);
& strcpy(number[j],number[j+1]);
& strcpy(number[j+1],x_number);
& strcpy(x_name,name[j]);
& strcpy(name[j],name[j+1]);
& strcpy(name[j+1],x_name);
& for(k=0;k&m;k++)
& & &x=score[j][k];
score[j][k]=score[j+1][k];
score[j+1][k]=x;
sum[j]=sum[j+1];
sum[j+1]=x;&
printf(&祝贺! 排序完毕。 && 按总成绩排序后的成绩表如下:\n&);
int load()
char filename[20];
printf(& &请输入文件名:&);
scanf(&%s&,filename);
if((fp=fopen(filename,&r&))==NULL)
starLine();
printf(& &~文件不存在。\n\n&);
system(&pause&);
system(&cls&);
fscanf(fp,&%d %d\n&,&n,&m);
for(j=0;j&m;j++)
& fscanf(fp,&%s\n&,subject[j]);
& sum[i]=0;
& for(j=0;j&m;j++)
& fscanf(fp,&%5f&,&score[i][j]);
& sum[i]=sum[i]+score[i][j];
fscanf(fp,&\n&);
fclose(fp);
starLine();
printf(& &@数据已经加载完毕,按任意键显示记录!\n\n&);
system(&pause&);
system(&cls&);
printf(& &@成绩表中的输入如下:\n &);
starLine();
printf(& &@按任意键返回主菜单\n\n&);
system(&pause&);
system(&cls&);
int save()
char filename[20];
printf(&请输入文件名 (例如 C:\\score.dat):&);
scanf(&%s&,filename);
if((fp=fopen(filename,&w&))==NULL)
& printf(&打开文件失败。\n&);
& return 0;
& fprintf(fp,&%d %d\n&,n,m); //保存学生数和课程数&
& for(j=0;j&m;j++)
& fprint(fp,&%s\n&,subject[j]);
& for(i=0;i&n;i++)
& & fprintf(fp,&%s\t%s\n&,number[i],name[i]);
& & for(j=0;j&m;j++)
&fprintf(fp,&%5.1f&,score[i][j]);
fprintf(fp,&\n&);
fclose(fp);
system(&cls&);
starLine();
printf(& @文件已保存至%s \n\n&,filrname);
printf(& @按任意键返回主菜单\n\n&);
system(&pause&);
system(&cls&);
int print1()
printf(&*****************************************************\n&);
printf(&\t\t\t -成绩总表- &\n&);
printf(&\n&);
printf(& &学号\t & & & &姓名 &);
for(j=0;j&m;j++)
printf(&%10s&,subject[j]);
printf(&\t总成绩 & 平均成绩\n&);
for(i=0;i&n;i++)
printf(&%8s %8s&,number[i],name[i]);
for(j=0;j&m;j++)
& &printf(&\t%7.1f&,score[i][j]);
printf(&\t\t%6.1f &%6.2f\n&,sum[i],sum[i]/m);
printf(&*****************************************************\n&);
printf(&显示完毕,共%d条记录\n&,n);
int starLine()
printf(& &***** &提示信息 ************************************\n&);
& & printf(&\n&);
相关文章推荐

我要回帖

更多关于 if strcmp 的文章

 

随机推荐