请问,我的c语言对错怎么错了?(我只是一个小白)

零基础的小白应该怎么学习C语言?
我的图书馆
零基础的小白应该怎么学习C语言?
零基础的小白应该怎么学习C语言?
如何学习C语言&&&&学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通。如何以最小的代价学习并精通C语言是本文的主题。请注意,即使是“最小的代价”,也绝不是什么捷径,而是以最短的时间取得最多的收获,同时也意味着你需要经历艰苦的过程。& 一、要读就读好书,否则不如不读&&&&所有初学者面临的第一个问题便是:如何选择教材。好的开始是成功的一半,选择一本优秀的教材是事半功倍的关键因素。不幸的是,学校通常会帮你指定一本很差劲的C语言课本;而幸运的是,你还可以再次选择。&&&&大名鼎鼎的谭浩强教授出了一本《C语言程序设计》,据说发行量有超过400万,据我所知,很多学校都会推荐这本书作为C语言课本。虽然本人的名字(谭浩宇)跟教授仅仅一字之差,但我是无比坚定地黑他这本书的。这本书不是写给计算机专业的学生的,而是给那些需要考计算机等级考试的其它专业学生看的。这本书的主要缺点是:例子程序非常不专业,不能教给你程序设计应该掌握的思考方式;程序风格相当地不好,会让你养成乱写代码的恶习;错误太多,曾经有人指出过这本书的上百个错误,其中不乏关键的概念性错误。好了,这本书我也不想说太多了,有兴趣大家可以百度一下:)&&&&Kernighan和Ritchie的《The C Programming Language》(中译名《C程序设计语言》)堪称经典中的经典,不过旧版的很多内容都已过时,和现在的标准C语言相去甚远,大家一定要看最新的版本,否则不如不看。另外,即使是最经典最权威的书,也没有办法面面俱到,所以手边常备一本《C语言参考手册》是十分必要的。《C语言参考手册》就是《C Reference Manual》,是C语言标准的详细描述,包括绝大多数C标准库函数的细节,算得上是最好的标准C语言的工具书。顺便提一句,最新的《C程序设计语言》是根据C89标准修订的,而《C语言参考手册》描述的是C99标准,二者可能会有些出入,建议按照C99标准学习。还有一本《C和指针》,写得也是相当地不错,英文名是《Pointers on C》,特别地强调指针的重要性,算是本书的一个特点吧。不过这本书并不十分适合初学者,如果你曾经学过C语言,有那么一些C语言的基础但又不是很扎实,那么你可以尝试一下这本书。我相信,只要你理解了指针,C语言便不再神秘。&&&&如果你已经啃完了一本C语言教材,想要更进一步,那么有两本书你一定要看。首先是《C Traps and Pitfalls》(中译名《C陷井与缺陷》),很薄的一本小册子,内容非常非常地有趣。要注意一点,这本书是二十多年前写成的,里面提到的很多C语言的缺陷都已被改进,不过能够了解一些历史也不是什么坏事。然后你可以挑战一下《Expert C Programming》(中译名《C专家编程》),书如其名,这本书颇具难度,一旦你仔细读完并能透彻理解,你便可以放心大胆地在简历上写“精通C语言”了。&&&&切记一个原则,不要读自己目前还看不懂的书,那是浪费生命。如果你看不懂,那你一定是缺失了某些必需基础知识。此时,你要仔细分析自己需要补充哪些内容,然后再去书店寻找讲述的这些内容的书籍。把基础知识补充完毕再回头来学习,才会真正的事半功倍。二、Unix/Linux还是Windows,这是个很大的问题&&&&不同的编程环境会造就出不同思维的程序员。Windows的程序员大多依赖集成开发环境,比如Visual Studio,而Unix程序员更加钟爱Makefile与控制台。显而易见,集成开发环境更容易上手,在Windows上学习C语言,只需要会按几个基本的Visutal C++工具栏按钮就可以开始写Hello, World!了,而在Unix下,你需要一些控制台操作的基本知识。有人也许认为Unix的环境更简洁,但习惯的力量是很大的,大家都很熟悉Windows的基本操作,而为了学习C语言去专门装一个Unix系统,似乎有点不划算。对于一个只懂得Windows基本操作、连DOS是什么都不知道的新手而言,尽快做一些有趣而有意义的事情才是最重要的。用C语言写一个小程序远比学习ls、cat等命令有趣,况且我们要专注于C语言本身,就不得不暂时忽略一些东西,比如编译链接的过程、Makefile的写法等等等等。&&&&所以我建议初学者应该以Visual C++ 6.0(不是VisualC++ .NET)或者Dev C++作为主要的学习环境,而且千万不要在IDE的使用技巧上过多纠缠,因为今后你一定要转向Unix环境的。Visual C++ 6.0使用很方便,调试也很直观,但其默认的编译器对C标准的支持并不好,而Dev C++使用gcc编译器,对C99的标准都支持良好。使用顺带提一下,很多大学的C语言课程还在使用Turbo C 2.0作为实验环境,这是相当不可取的,原因其一是TC 2.0对C标准几乎没有支持,其二是TC 2.0编译得到的程序是16位的,这对今后理解32位的程序会造成极大的困扰(当然,用djgpp之类的东西可以使TC 2.0编译出32位程序,不过那过于复杂了)。等你学完一本C语言的教材,你一定要转向Unix平台继续学习,几乎所有的C语言高级教程都是基于Unix平台的(比如《C专家编程》)。转变的过程是痛苦的,你需要面对的是各种纷繁复杂的命令,完全不同于Windows平台的思考方式,但是这种痛苦是值得的。Unix与C是共生的,Unix的思考方式和习惯更加符合C语言的思考方式和习惯。在Unix下,你可以找到无数优秀的源代码供你尽情阅读,你可以方便地查看某个库函数的联机手册,还可以看到最优秀的代码风格归结起来就是一句话:初学C语言,建议使用Windows系统和集成开发环境,在准备向“高手”方向努力时,请先转向Unix平台。
C语言将一个正整数分解质因数 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。如果n&k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。如果n不能被k整除,则用k+1作为k的值,重复执行第一步。代码实现:#include int main(){& & &// 用户输入的整数& & &// 循环标志& & printf('输入一个整数:');& & scanf('%d',&n);& & printf('%d=',n);& & // n&=2才执行下面的循环& & for(i=2; i&=n;&& & & & while(n!=i){& & & & & & if(n%i==0){& & & & & & & & printf('%d*',i);& & & & & & & & n=n/i;& & & & & & }else& & & & & & & && & & & }& & }& & printf('%d\n',n);& & return 0;}运行结果:输入一个整数:10000*2*2*5*5*5*5
喜欢该文的人也喜欢小白怎么学习C语言?_百度知道
小白怎么学习C语言?
有易语言基础(走了许多歪路),英语不好,初中水平。想学习C语言,但是网上的视频都看不明白,想大神辅助。
我有更好的答案
你好我大学就是学习的C语言,我将我的学习经验分享给你。首先,我个人认为C语言是学习其它语言的基础,C语言学的好的人再去学习其它语言不会困难。第二,编程语言学的好不好和英语好不好没有关系,你不用担心。第三,基础很重要,我建议你找一本C语言的基础书籍多看几遍,我以前看的是谭浩强的《C程序设计》,并不是说这本书写的多好,只是说这本书作为入门书很不错。当你能把这本书的完全搞懂了之后,你就可以看《C程序设计语言》这本书的作者之一是语言之父丹尼斯·里奇。这两本看完之后,你就可以将C与C++结合起来看,看点《C++primer》,也要再看点数据结构的数据。数据结构的数我推荐,《数据结构与算法分析——C语言描述》。希望能帮着你,C与C++博大精深,前途无量,希望你坚持!
其实我有一本谭浩强的《C程序设计》,但是我完全看不明白,只是想你们辅助一下,比如什么什么语句是干什么用的,怎么用的我就知道了,我理解能力不错
其实作为入门教材,谭浩强的《C程序设计》算是很简单的教材了,看不懂没有关系,可以多看几遍,另外找点题来做一下,比如书上的例题,还有计算机二级考试题,这本书多看几遍,再考一个国家二级计算机等级证书(C语言类的),基本你就算是C语言简单入门了。这个时候你可以选择学习C++或者其它语言,有了扎实的C基础,再学其他的会很快入门的。
采纳率:65%
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。C语言超市管理系统(学校课设,我想知道我那写错了)
<a data-traceid="question_detail_above_text_l&&
各位啊 我要是一点就透 我就不用发到网上问你们了 可否指出具体问题或写出那句具体如何修改(我是小白啊)
我是学信息管理与信息系统的,最近学校课设,让设计这个,但是我写到现在有很多BUG......
《C语言课程设计》任务书&
一、设计题目
超市管理系统设计与实现
二、设计目标
加深巩固《C语言程序设计》课程的基本理论知识,理论联系实际,结合企业的实践项目,以企业实际岗位需求为指导,以提高学生实际操作能力和实际运用知识能力的培养为目标;注重学生综合应用能力的训练,注重学生技术应用和实践能力的培养,进一步提高学生的实践能力和创新创业能力。
具体要求如下:
1、& 编写程序并进行调试运行。
2、& 输入商品资料,并保存于文件。每件商品包含信息如:商品号、商品名、商品类别、商品库存量、商品上限和下限、商品价格、进货日期、生产日期、保质期等。
3、& 对已存入的商品信息进行更新操作,包括添加、删除和修改某件商品信息。
4、通过按商品名、商品种类、商品进货量的方式查询商品信息。
5、输入某商品号后对其利润进行统计。
6、& 对商品的库存量和利润进行排序。
7、& 最后输出商品信息,供需要时打印。
三、需求分析
1、该程序可用于对商品的基本信息的存储、更新、查询、输出、统计、排序等操作,以实现管理者对商品的管理和消费者对商品的了解。
2、其中更新功能包括:添加信息、删除信息、修改信息、可根据需要添加一个或多个商品信息,也可对个别商品信息进行适当的删除或修改。以便随时更新商品信息。
3、程序中设计的查询功能可根据需要从若干数据中查询某件商品信息,并且可根据三种不同的方法查询:按商品名查询、按商品种类查询和按商品进货量查询。以满足不同的需要。
四、总体设计
1、方案设计
对系统进行分析,给出整个系统流程图如图1所示
分析:系统要求实现许多的功能,因此遵循结构化程序设计思想来进行本系统的设计—自顶向下、逐步细化,将系统设计任务分解出许多子功能模块进行设计。并在界面、功能和健壮性方面进行一些创新设计。
2、系统功能
功能模块说明:对各个模块进行功能的描述
(1)输入模块:
录入需要管理的商品信息并将信息保存于文件中,以方便日后进行打印、读取、更新等操作。
(2)添加模块:
可添加一件或多件商品信息,并将所添加商品信息保存,方便查找。
(3)删除模块:
可对过期的商品做删除处理。
(4)修改模块:
可根据需要对多件商品信息进行修改,也可随时对个别项进行修改。
(5)查询模块:
可对已建立的商品信息进行查询,并且可根据需要选择按商品名查询或按商品种类查询或按商品进货量查询。
(6)保存模块:
用于对信息进行保存。
(7)输出模块:
将所有商品信息或想要查询的商品信息显示于屏幕,用于打印商品信息或查找某些商品信息。
(8)排序模块:
根据商品的利润和库存量进行排序。
(9)统计模块:
根据商品的利润进行分类统计。
(10)退出系统:
选择该项,自动退出该系统。
五、设计内容
1、设计系统的功能结构框图(参考图1)
2、设计程序流程图(对于编写的功能函数模块,要画出相应的程序流程图,功能相同模块可选择画一个函数模块流程图)
3、编写下列功能模块源程序代码
(1)按照商品类别查询商品信息
(2)按照进货量查询商品信息
(3)统计第二类商品利润大于等于200元小于500元信息
(4)统计第三类商品利润小于200元信息
(5)按商品库存量排序
(6)按库存量和利润排序商品信息子菜单
六、设计要求
1、基本要求&
(1)掌握面向过程程序设计的基本思想和方法;
(2)要求利用自顶向下,逐步求精的思想来完成系统的设计;
(3)要求在设计的过程中,功能模块划分要清晰、合理;
(4)在编写代码过程中,代码简单明了,书写层次清晰;
(5)无论是变量名还是函数名,都能见名知意。
2、创新要求&
完成基本设计后,可在界面及功能上进行一些创新设计。
我写的代码如下:
#include &stdio.h&
#include &string.h&
#include &conio.h&
#include &stdlib.h&
#define MAX 20
#define PAGE 5
#define PRINTF1 printf("---------------------------------------\n")
#define PRINTF2 printf("num---name---kind---in_num---pro_time(year-month-day)---save_time\n");
#define PRINTF3 printf("%d%8s %7s %8s
%5d-%2d-%2d
goods[i].num,goods[i].name,goods[i].kind,goods[i].in_num,goods[i].pro_time.year,goods[i].pro_time.month,goods[i].pro_time.day,goods[i].save_day);
/*data struct kind*/
struct data
/*goods struct kind*/
struct goods
char name[10];
char kind[10];
//商品类别
//商品库存量
int goods_
//商品上限
int goods_
//商品下限
//商品进货价格
//商品出售价格
struct data in_
//进货日期
struct data pro_
//生产日期
char factory[10];
//生产厂商
}goods[MAX];
/*save message*/
save_message(int sum)
if((fp=fopen("goods.dat","wb"))==NULL)
printf("read the file error!\n");
for(i=0;i&i++)
if(fwrite(&goods[i],sizeof(struct goods),1,fp)!=1)
printf("write the file error!\n");
fclose(fp);
/*input message*/
input_message()
int i=0,s=MAX;
system("cls");
printf("\n\n
input goods
message the most%d\n\n",s);
{printf("\n di%dgoods",i+1);
printf("\n num:");
scanf("%d",&goods[i].num);
if(goods[i].num==0)
printf("\n name:");
scanf("%s",goods[i].name);
printf("\n kind:");
scanf("%s",goods[i].kind);
printf("\n amount:");
scanf("%d",&goods[i].amount);
printf("\n goods_up:");
scanf("%d",&goods[i].goods_up);
printf("\n goods_down:");
scanf("%d",&goods[i].goods_down);
printf("\n in_price:");
scanf("%d",&goods[i].in_price);
printf("\n out_price:");
fflush(stdin);
scanf("%d",&goods[i].out_price);
printf("\n in_num:");
scanf("%d",&goods[i].in_num);
printf("\n in_time:");
scanf("%d-%d-%d",&goods[i].in_time.year,&goods[i].in_time.month,&goods[i].in_time.day);
printf("\n pro_time:");
scanf("%d-%d-%d",&goods[i].pro_time.year,&goods[i].pro_time.month,&goods[i].pro_time.day);
printf("\n factory:");
scanf("%s",goods[i].factory);
printf("\n save_time:");
scanf("%d",&goods[i].save_day);
}while(i&MAX);
printf("\n**** %dgoods message input over!--\n",i);sum=i;
printf("\n press any key to return!");
/*read message*/
int read_message()
if((fp=fopen("goods.dat","rb"))==NULL)
printf("\n\n
******there is no any message,press any key to return!******\n");
while (feof(fp)!=1)
fread(&goods[i],sizeof(struct goods),1,fp);
if(goods[i].num==0)
fclose(fp);
return (i);
/*output message*/
output_message()
int i=0,j=0,page=1;
system("cls");
printf("\n\n
--goods message,di %dpage\n\n",page);
if(goods[i].num!=0)
if(j%PAGE!=0)
if(goods[i+1].num!=0)
printf("press any key to return!");
system("cls");
printf("\n\n
--goods message,di%d page\n\n",++page);
}while(i&sum);
printf("press any key return!");
goods message*/
insert_message()
int i=sum,flag=0;
system("cls");
printf("\n\n
goods\n");printf("
--------------------\n");
{goods[i].num=++
printf("\n
new num:");
scanf("%d.&goods[i].num");
printf("\n
new name:");
scanf("%s.&goods[i].name");
printf("\n
new kind:");
scanf("%s.&goods[i].kind");
printf("\n
new amount:");
scanf("%d.&goods[i].amount");
printf("\n
new goods_up:");
scanf("%d.&goods[i].goods_up");
printf("\n
new goods_down:");
scanf("%d.&goods[i].goods_down");
printf("\n
new in_price:");
scanf("%d.&goods[i].in_price");
printf("\n
new out_price:");
scanf("%d.&goods[i].out_price");
printf("\n
new in_num:");
scanf("%d.&goods[i].in_num");
printf("\n
new in_time:");
scanf("%d-%d-%d",&goods[i].in_time.year, &goods[i].in_time.month,&goods[i].in_time.day);
printf("\n
new pro_time:");
scanf("%d-%d-%d",&goods[i].pro_time.year,
&goods[i].pro_time.month,&goods[i].pro_time.day);
printf("\n
new factory:
scanf("%s ",goods[i].factory);
printf("\n
new save_time:
scanf("%d ",&goods[i].save_day);
printf ("\n
go on or not?(Y/N)");
choice=getch();
if(choice=='Y'||choice=='y')
{printf("\n
go on!\n");i++;flag=1;}
else flag=0;
}while(flag==1);
printf ("\n
press any key return!");
/*del goods message*/
del_message()
{ int i=0,del_num,flag=0,k;
char choice,choice1;
system("cls");
printf("\n --please input the del goods num:--\n");
scanf("%d",&del_num);
printf("\n --really
del the goods?(Y/N)");
choice1=getch();
if(choice1=='Y'||choice1=='y')
printf("\n
--continue!--\n");
for(i=0;i&i++)
if(goods[i].num==del_num)
{flag=1;printf("\n -goods message--\n");
for(k=i;k&sum-1;k++)
goods[k]=goods[k+1];sum--;
if(i==sum)
{printf("\n
--the goods is not exist!--\n");
printf("\n\n -go on or not?Y/N--\n");
choice=getch();
if(choice=='Y'||choice=='y')
{flag=1;printf("\n -go on--\n");}
else flag=0;
}while(flag==1);
printf("\n
--press any key return--\n");
revise_message()
int i=0,choice,revise_num,char choice1;
{system("cls");
printf("\n
please input the revise goods num:");scanf("%d",&revise_num);
for(i=0;i&)
{if(goods[i].num==revise_num)
{ printf("\n
----goods message----\n");PRINTF1;PRINTF2;PRINTF3;
printf("\n
which item you want to revise?\n
printf("\n
1:name\n");
printf("\n
2:kind\n");
printf("\n
3:out_price\n");
printf("\n
4:pro_time\n");
printf("\n
5:save_day\n");
printf("\n
please choose(1-5)");
scanf("%d",&choice);
switch(choice)
{case 1:printf("\n after revise name:
scanf("%s",goods[i].name);
case 2:printf("\n after revise kind:
scanf("%s",goods[i].kind);
case 3:printf("\n after revise out_price:");
scanf("%d",&goods[i].out_price);
case 4:printf("\n after revise pro_time: ");
scanf("%d-%d-%d",&goods[i].pro_time.year,
&goods[i].pro_time.month,&goods[i].pro_time.day);
case 5:printf("\n after revise save_time:");
scanf("%d",&goods[i].save_day);}
PRINTF1;PRINTF2;PRINTF3;}
else i++;}
printf("\n\n
continue revise?(Y/N)");choice1=getchar();
if(choice1=='Y'||choice1=='y')
{flag=1;printf("\n
continue!\n");}
else flag=0;
}while(flag==1);
printf("\n
press any key return\n");getch();}
goods message*/
renew_message()
system("cls");
printf("\n\n\n
*******renew goods message*******\n\n");
1:插入商品信息\n\n");
2:删除商品信息\n\n");
3:修改商品信息\n\n");
0:返回\n\n");
请选择(0-3):");
scanf("%d",&choice);
switch(choice)
case 1:insert_message();
case 2:del_message();
case 3:revise_message();
}while(choice!=0);
save_message(sum);
printf("\n the message is saved!-(goods.dat)\n");}
/*inquire according to name*/
inquire_name()
int i,j=0;
char inquire_name[10];
system("cls");
printf("\n
input the inquire goods name:");
scanf("%s",inquire_name);
for(i=0;i&i++)
if(strcmp(goods[i].name,inquire_name)==0&&goods[i].num!=0)
printf("\n
--goods message-- \n");
if(j==sum)
printf("\n
the good is not exist!");
inquire according to
kind 此函数学生编写*/
inquire_kind()
int i,j=0;
char inquire_kind[10];
system("cls");
printf("\n
input the inquire goods name:");
scanf("%s",inquire_kind);
for(i=0;i&i++)
if(strcmp(goods[i].kind,inquire_kind)==0&&goods[i].num!=0)
printf("\n
--goods message-- \n");
if(j==sum)
printf("\n
the good is not exist!");
/*inquire according to in_num 此函数学生编写*/
inquire_count()
int i,j=0;
char inquire_in_num[10];
system("cls");
printf("\n
input the inquire goods name:");
scanf("%s",inquire_in_num);
for(i=0;i&i++)
if(strcmp(goods[i].in_num,inquire_in_num)==0&&goods[i].num!=0)
printf("\n
--goods message-- \n");
if(j==sum)
printf("\n
the good is not exist!");
/*inquire goods message*/
inquire_message()
system("cls");
printf("\n\n
**********inquire goods message**********\n\n");
1:按照姓名查询商品信息\n\n");
2:按照商品类别查询商品信息\n\n");
3:按照进货量查询商品信息\n\n");
0:返回\n\n");
请选择(0-3):");
scanf("%d",&choice);
switch(choice)
case 1:inquire_name();
case 2:inquire_kind();
case 3:inquire_count();
}while(choice!=0);
/*count goods ji bie*/
count_first_goods()
{int i,profit[MAX],j;
system("cls");
for(i=0;i&i++)
profit[i]=(goods[i].in_num-goods[i].amount)*(goods[i].out_price-goods[i].in_price);
printf("\n
the first kind of goods:
for(i=0;i&i++)
if(profit[i]&=500)
if(j==sum) printf("\n
the goods is not exist!\n");
printf("\n
press any key to return!\n");
/*count goods ji bie 统计第二类商品利润大于等于200元小于500元的信息 此函数学生编写*/
count_secend_goods()
{int i,profit[MAX],j;
system("cls");
for(i=0;i&i++)
profit[i]=(goods[i].in_num-goods[i].amount)*(goods[i].out_price-goods[i].in_price);
printf("\n
the secend kind of goods:
for(i=0;i&i++)
if(profit[i]&=200&&profit[i]&500)
if(j==sum) printf("\n
the goods is not exist!\n");
printf("\n
press any key to return!\n");
/*count goods ji bie 统计第三类商品利润小于200元的信息 此函数学生编写*/
count_third_goods()
{int i,profit[MAX],j;
system("cls");
for(i=0;i&i++)
profit[i]=(goods[i].in_num-goods[i].amount)*(goods[i].out_price-goods[i].in_price);
printf("\n
the third kind of goods:
for(i=0;i&i++)
if(profit[i]&200)
if(j==sum) printf("\n
the goods is not exist!\n");
printf("\n
press any key to return!\n");
/*count goods message*/
count_message()
system("cls");
printf("\n\n
**********count goods message**********\n\n");
1:统计第一类商品\n\n");
2:统计第二类商品\n\n");
3:统计第三类商品\n\n");
0:返回\n\n");
请选择(0-3):");
scanf("%d",&choice);
switch(choice)
case 1:count_first_goods();
case 2: count_secend_goods();
case 3: count_third_goods();
}while(choice!=0);
/*sort amount 按库存量排序 此函数学生编写*/
sort_amount()
{struct goods *p,*q[MAX];
int i,j,k;
system("cls");
printf("/n
按库存量排序 \n");
------------------------------------------------------\n");
printf("\n
amount\n");
for(i=0;i&i++)
for(i=0;i&sum-1;i++)
for(j=i+1;j&j++)
if((q[k]-&amount)&(q[j]-&amount))
{p=q[i];q[i]=q[k];q[k]=p;}}
for(i=0;i&i++)
printf("\n
%5d\n",i+1,q[i]-&num,q[i]-&kind,q[i]-&out_price-q[i]-&in_price);
/*sort profit*/
sort_profit()
{struct goods *p,*q[MAX];
int i,j,k;
system("cls");
printf("/n
按利润排序 \n");
------------------------------------------------------\n");
printf("\n
profit\n");
for(i=0;i&i++)
for(i=0;i&sum-1;i++)
for(j=i+1;j&j++)
if((q[k]-&out_price-q[k]-&in_price)&(q[i]-&out_price-q[j]-&in_price))
{p=q[i];q[i]=q[k];q[k]=p;}}
for(i=0;i&i++)
printf("\n
%5d\n",i+1,q[i]-&num,q[i]-&kind,q[i]-&out_price-q[i]-&in_price);
/*sort goods message 按库存量和利润排序商品信息子菜单 此函数学生编写*/
sort_message()
system("cls");
printf("\n\n
**********sort goods message**********\n\n");
1:按库存排序\n\n");
2:按利润排序\n\n");
0:返回\n\n");
请选择(0-2):");
scanf("%d",&choice);
switch(choice)
case 1:sort_amount();
case 2:sort_profit();
}while(choice!=0);
sum=read_message();
system("cls");
printf("\n\n***************欢迎进入超市管理系统***************\n\n");
请选择操作类型!\n\n");
***********************************************************************\n\n");
1:欢迎进入超市管理者系统\n");
***********************************************************************\n\n");
2:欢迎进入消费者系统\n\n");
***********************************************************************\n\n");
0:退出\n\n");
***********************************************************************\n\n");
请选择(0-2)");
ch1=getch();
switch(ch1)
{ case '1':{do
system("cls");
printf("\n\n\n
***************管理者系统***************\n");
printf("\n\n\n
*****欢迎进入系统*****\n\n");
1.输入商品信息\n\n");
2.输出商品信息\n\n");
3.更新商品信息\n\n");
4.查询商品信息\n\n");
5.统计商品信息\n\n");
6.排序商品信息\n\n");
0.返回\n\n");
请选择(0-6):");
scanf("%d",&choice);
switch(choice)
case 1:input_message();
case 2:output_message();
case 3:renew_message();
case 4:inquire_message();
case 5:count_message();
case 6:sort_message();
}while(choice!=0);}
case '2':{do
{system("cls");
printf(" \n\n\n
***************消费者系统***************\n\n");
******欢迎进入系统******\n\n");
1:查询商品信息\n\n");
2:排序商品信息\n\n");
0:返回\n\n");
请选择(0-2):");
scanf("%d",&choice);
switch(choice)
{case 1:inquire_message();
case 2:sort_message();
}while(choice!=0);
case '0':}
}while(ch1!='0');
save_message(sum);
printf("\n the message is saved!-(filename:goods.dat)\n");}
注:带“此函数学生编写”全是我自己写的,其他部分都是老师给出的框架
我的疑问:有俩报警,我弄得输入商品信息的时候,正常,输出商品信息时候程序崩溃,请问我该如何修改呢(我是本科大一信息管理与信息系统的小白)
附:报警图
程序崩溃图
请各位大神具体指出我错在哪,用什么语句改(最好具体写出语句),谢谢了!
我只想吐槽国内的大学教育。
--- 共有 1 条评论 ---
是啊 把咱都弄死得了
错误的给学生传递 C 语言使用的正确姿势。
你先让编译器不给你报警告再说好不好吧。。。
debug,一步一步执行&
--- 共有 1 条评论 ---
能不能帮我调试一下啊 我都快疯了 我文字源码都给出了
如果是Linux,执行时如果有core产生,直接看下,就能找到,win下不了解
--- 共有 1 条评论 ---
好吧 谢谢你!
错在哪儿?你说输出的时候崩掉,就去找那个输出的函数啊,打个断点看看是哪个变量引起的问题
程序出现BUG就去调试定位解决问题,我带大一学生上机实验的时候,基本上都不会去调试程序,但很明显这个技能是必须要掌握的
--- 共有 1 条评论 ---
关键是我也打断点了 就是不会改啊 你能不能跑一下我的代码看看错在哪啊 我都快疯了
你先把warning搞到0再说啊
--- 共有 1 条评论 ---
我就是想问我咋搞到0啊 我是大一小白 我都快改疯了呜呜呜~~~~~~~(&_&)~~~~
x想起了自己的大学额
老师给出的框架。。。。。。。。。
--- 共有 1 条评论 ---
对啊 要是自己写 可能就不那么束缚了(现在自己还没有这水平)
打断点单步看下哪一句死的}

我要回帖

更多关于 c语言对错 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信