送上来找人骂的程序

hexuhui 2003-10-16 06:24:46
下午贴了一个,被各位高手骂了一通,小弟感激不尽。
请各位高手继续批评下面的用户注册程序,主要从:
1.编程风格
2.程序结构
3.有无错误
两个方面
#include <stdio.h>
#include <string.h>
struct stu_info
{
char UID[20];
int age;
char PWD[20];
};

int showMainMenu()
{
/* 显示主菜单并且返回用户的选择 */
int s;
printf("您要?\n");
printf("1.注册新用户\n");
printf("2.使用已经注册的用户名登陆\n");
while (s!=49 && s!=50)
{
s=getchar();
}
return s-48;
}

int checkUID(const char *UID)
{
/* 检查用户名的长度 将来会增加更多的检查条件 */
if (strlen(UID)<4 || strlen(UID)>10)
{
return 1;
}
else
{
return 0;
}
}

int checkPWD(const char *PWD, const char * confirmPWD)
{

/* 密码必须和确认密码箱等,这里没有直接返回strcmp的值是因为还要增加更多的密码验证条件 */

if (strcmp(PWD,confirmPWD)==0)
{
return 0;
}
else
{
return 1;
}
}


int regist()
{
struct stu_info newStudent;
char confirmPWD[20];
strcpy(newStudent.PWD,"");
newStudent.age=0;
strcpy(newStudent.UID,"");

while(checkUID(newStudent.UID)!=0)
{
printf("\n请输入您的姓名:");
scanf("%20s",newStudent.UID);
}


while (newStudent.age<5 || newStudent.age>100)
{
printf("\n请输入您的年龄:");
scanf("%d",&newStudent.age);
}


while (checkPWD(newStudent.PWD,confirmPWD)!=0)
{
printf("\n请输入您的密码:");
scanf("%s",&newStudent.PWD);
printf("请再次输入您的密码:");
scanf("%s",confirmPWD);
}
printf("\n注册已经完成...\n");
return 0;
}



void main()
{
int select=0;
select=showMainMenu(); /* 调用showMain函数显示菜单并返回用户的选择 */

switch (select)
{
case 1:
regist();
break;
default:
printf("Found error");

}
}
...全文
44 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
Meyer 2003-10-18
  • 打赏
  • 举报
回复
不要要求太高,做个稍大点的东西
大概 2-3k的程序,你就会发现自己组织代码的水平了.
Meyer 2003-10-18
  • 打赏
  • 举报
回复
>>跨平台、不同的编译器会发生什么情况等等
呵呵,如果你要提到跨平台这么高的水准那你的 showMainMenu()
也就没法用了,
毕竟不是所有平台都是使用的ASC编码
bbgbianbaogui 2003-10-17
  • 打赏
  • 举报
回复
继续
hexuhui 2003-10-17
  • 打赏
  • 举报
回复
大哥们 数据存储那块我是要加进去的 现在还没做。
希望大家苛刻的给我的程序挑毛病(跨平台、不同的编译器会发生什么情况等等)

谢谢了!
rockypan 2003-10-17
  • 打赏
  • 举报
回复
写得不错,如果有更多的人贴代码出来就好了:D
(我是新手)
Andy84920 2003-10-17
  • 打赏
  • 举报
回复
首先我认为程序的正确性是最重要的.
如果一个程序在怎么完美,它是错误的.那什么也不要谈!
这是程序的第一个要保证的东西!
liuhelh 2003-10-17
  • 打赏
  • 举报
回复
楼上说的很对
你这个注册程序并不能保存信息 难道你打算一直把注册内容保存在内存中吗?
所以需要一个文件来保存信息。
sevencat 2003-10-17
  • 打赏
  • 举报
回复
不过说老实话你这个程序很难看出你的功底。
因为功能太简单了。
你可以尝试一下
一开始从某文件中读入所有的密码和用户名:
加入一个列表中。
登录的时候进行检查。

或者你可以用数据库存放用户名和密码再进行查询。(比如说Mysql数据库中读出来)


毕竟简单的东西很难说你怎么样就像我写一段
#include <iostream>
int main()
{
char chartemp;
std::cin>>chartemp;
return 0;
}
然后拿出来问人家:
我这段程序写的怎么样?
请从下面几点来分析:
meijing 2003-10-17
  • 打赏
  • 举报
回复
在C++可以用常量,比用宏好像要好些
sharkhuang 2003-10-17
  • 打赏
  • 举报
回复
我给你体提的意见是不要用太多的数字!这些都喜都可以用宏代替!!!
sevencat 2003-10-17
  • 打赏
  • 举报
回复
不错了。
比我以前写得好多了 。


从这个开始慢慢来,
打好基础。
很快你就会是高手了
ionlic 2003-10-17
  • 打赏
  • 举报
回复
to TianGuangZao(天光早)

你也太激动了吧? 不觉得有些臆断吗?

我看不出楼主写的c吗? 我仅仅想问一下。

------------------------
to:楼主。我觉得你写的格式不错。 仅仅有一个问题想说:就是注释。

c的注释是/* */。 因为在有些时候编程,你可能想注释掉一段代码,进而写另一段代码。这样就可能出现注释符号的嵌套,这样在编程时会给你带来写麻烦。如果你是在c++的一些编译环境下写程序的话,用//注释符号会比较好些。当然可能通用性不好。
iceandfire 2003-10-17
  • 打赏
  • 举报
回复
同意TianGuangZao的看法!
我也提几个看法:
如果习惯使用tab键,那么将tab设为4最好,每行最大字符为80个为合适,这样在打印纸上可完全打出。
还有一点和zoohoo是一样的,不要有多个return出口,如果return 1后面有return 2之类的,那么最好将1或2赋与变量x,再return x。这是种好的习惯。
还有,你的程序所有存储都在内存中,可否考虑将数据脱机存储?
zoohoo 2003-10-17
  • 打赏
  • 举报
回复
不错不错,提3点小意见
1 不要使用tab,用空格代替
2 函数最好只有一个出口
3 main函数最好写成这样,int main(int argc, char *argv[]),在同unix保持兼容。
TianGuangZao 2003-10-17
  • 打赏
  • 举报
回复
to ionlic(ionlic):
明明是 c 程序,干嘛一定非得和 c++ 扯上边。
难道 c 程序员非得懂 c++ 不可?
难道不懂 c++ 就写不出优秀的 c 代码吗?
gyhs 2003-10-17
  • 打赏
  • 举报
回复
可以
oyd 2003-10-17
  • 打赏
  • 举报
回复
很不错,结构清晰易懂
换个复杂的程序再来给我们看看
ionlic 2003-10-17
  • 打赏
  • 举报
回复
学过c++吗?

若学过
建议你看看effective c++的第一部分 呵呵。

好象还有本什么design pattern 都是有关这些方面的
【新人注意:下载后评价,CSDN会把下载分还给你!切记!不放心的请看完下面:】 ==================== 我晕死,声明几点: 1.我对人的人十分无奈也无语,素质低就不要出来丢人了; 2.资源是我觉得好才放上来跟大家分享的,简易便携,平时带到机房或者测试都很方便,这个完整纯净的版本现在网上已经不好找了,要么就是广告捆绑什么的一堆; 3.至于下载分,只要你评论了,不仅退还所有分还多送1分,CSDN的老规矩,怕什么。我也要下资源,赚点积分而已; 4.病毒的问题已经解释过很多遍了(见简介),信不信装不装凭自己判断,请少数人注意文明,低碳生活,谢谢大家; 5.没用过的可以先看评论~多翻几页,相信你会找到答案。诚请先试用后评价,祝您使用愉快,谢谢! ======================================== 关于有人说资源是“盗取来的”:哦,好吧,我被你打败了。你真的很逗,事实上你可以联系原作者,让他亲自发送到你邮箱。 我先声明这个的确不是我写的程序,是网上收集来的,拿来给大家分享。CSDN上的资源很多都是转载分享的,如果还是不放心大家尽可以自己上网找,名字见标题上的几个都可以,别打错。很好的软件,很多软件站都有搜藏,但是我下过发现很多不完整或者有垃圾广告插件乱七八糟的。 关于报毒的问题:这个没有办法,因为不是正常的网站访问程序,没有安装认证的安全策略,觉得心里别扭的只能安装IIS、阿帕奇之类的大玩意了,我是不喜欢配置太麻烦才用的这个,简单无需配置。但是个人保证:安全无毒!而且无垃圾。本人已经使用三年了~杀软也就在安装时报个警,安装好再开杀软好了,就没事了。敬请放心使用! 本人一向凭着谨慎的态度上传资源,如有担心,您可以在下载先使用后再评论,出了问题再差评就是!别误导别人。 详细的介绍还看简介,祝您使用愉快,谢谢! ============================================================ 【简介】 小旋风ASP服务器,适合学习ASP的时候用。帮你构建asp网页服务器,希望能给你帮助。 因为很多人都是装的Windows XP HOME版的操作系统(囧,我的XP_Pro_SP3装IIS也出错,包括505、501错误一大堆,com密码什么的网上讲的头头是道,可是怎么试都出错,难道真是RP - -),不能装IIS(会报这样那样的错误),这个正好派上用场,做好网页后再复制到IIS服务器上就可以运行了。具体使用方法简单,里面附有说明文档! 小旋风ASPWeb2005服务器是在NETBOX核心下开发的一套简洁(只有1M多点)强大(完全支持ACCESS,SQL数据库)的ASPWEB服务器,使用这个软件的您完全可以抛弃体积庞大的WINNT,WIN2000服务器系统及漏洞百出的IIS了。现在你可以在任何一个系统上调试和发布您的ASP程序了。目前测试通过的操作系统为:Windows 98;Windows 98 SE;Windows ME;Windows NT+IE4;Windows 2000;Windows XP;Windows .NET Server。 注意:安装时有些杀毒软件会检测它有病毒,不过事实上并不是,安装的时候先把杀毒软件暂停一下,等装好后再打开。我一直用的,没有任何问题,请放心使用! ==================================================================================
智能电网实习总结doc全文共4页,当前为第1页。智能电网实习总结doc全文共4页,当前为第1页。智能电网实习总结 智能电网实习总结doc全文共4页,当前为第1页。 智能电网实习总结doc全文共4页,当前为第1页。 智能电网实习总结我从XX年7月开始到此刻XX年1月在"晋能精瑞智能电网"实习了快要7个月。下面我就自己总结一下这半年来的体会。记适当初来的时候很感激老板给的这个机缘,当初选择这个单位主要原因就是看到这个单位不是做检修,不是弄装配,而是弄研发,同窗曾问过单位的待遇,1500,无论吃住,因此也就没啥人应聘了,当初我的想法就是若是在这个单位能学点东西,我不在意工资多少。面试的时候老板问了我一些单片机和电子方面的一些知识,我也能答得上来,老板录用了我,当初我拿来了自己用洞洞板焊接的俩块功放板,老板很欣赏。当初想象过去了单位就可以画PCB,写程序,调试电路板……心里安奈不住这份激动,学校刚没事儿,在家呆了俩天就跑过来了。智能电网实习总结doc全文共4页,当前为第2页。智能电网实习总结doc全文共4页,当前为第2页。刚放假就赶紧在单位周围找屋子,先把屋子租下来,租金450,电费1块/度,水费5块/人,押金400,这些钱都是姐姐给我垫的,"等挣了钱,必然加倍还给姐姐".刚来单位第一天,师傅带我录了指纹,打卡用的,然后他们就在玩电脑了,我拿了单位的简介,拿了个小本抄了抄单位之前做过产品的简介。这样的生活可能过了半个月,此日领导说咱们要去大同去做无功补偿,领导在咱们临走的时候特意嘱咐咱们俩新人,去了干脏活,笨活,累活,不要动电。坐了可能6个小时的面包车咱们来到了大同大能碳素厂,时间已经不早了,就赶紧找地方先住下。领导给咱们安排了厂子里的住处,其他三位师傅看了看,屋子又潮又阴,隔壁还挨着茅厕,被子好久没洗了,窗户都关不上,于是扭头就走,说这儿不能住,最后咱们在内蒙的丰镇住下了。顶着炎炎烈日,时不时刮来一阵弥漫着碳粉的热风,咱们便开始干了,天天的重东西的搬抬都是我俩的事儿,这段时间干的做多的事儿就是拧螺丝了,也常常被师傅们,嫌干活不利索。干了可能8天,活终于干完了,最后一天晚上咱们连夜赶回,回抵家可能已是2点了。第二天还得照常上班,第二天刚来就在楼道里遇见了领导"小任啊,咱们的电路板回来了,一会儿就抓紧时间焊电路板吧"马上心里……智能电网实习总结doc全文共4页,当前为第3页。智能电网实习总结doc全文共4页,当前为第3页。由于从小就喜欢玩电子,因此焊接技术还说的过去,电路板上的原件大多是贴片的,因此挺练手的,我尽可能把每一个电阻,电容的焊点都焊漂漂亮亮的,边焊边欣赏,感觉还不错,一人焊30块板,效率不是很高,毕竟时间长了眼睛受不了。焊完板后我建议领导用无水酒精洗上一遍,能把松香洗去,板子整体看起来也是亮亮的,一瓶酒精洗这么多板子?结果证明板子得洗三遍不然会有白印,我向领导申请买点酒精吧,领导"就拿剩下的酒精洗吧"……我刹时无语。最后板子焊好了,周日领导要求我加班,配合调试电路板,我想终归也没啥事,来就来吧。最后板子合格率100%,没有焊错的地方,领导夸了半天……可能10月份到此刻咱们就一直在库房干活,天天的工作就是组柜子,配线,拧螺丝……这几天库房又阴又冷,咱们只智能电网实习总结doc全文共4页,当前为第4页。智能电网实习总结doc全文共4页,当前为第4页。好拿铁皮焊了个炉子取暖,由于没有烟筒,烟都在库房里,晚上归去了,一擦鼻子里面都是黑黑的。此刻我就在想当初自己的假想是何等的美好,可是此刻的现实呢?可是我没有放弃自己的目标,我还一直不断的尽力,工资不高,每一个月交了房租取暖费,也就没有几个钱了,自己还要用饭。攒了几个月钱,咬了咬牙,可能花了1200买了一套ARM的资料,天天晚上归去学习。我相信机会到了,我会 示出自己的能力的。 智能电网实习总结doc全文共4页,当前为第2页。 智能电网实习总结doc全文共4页,当前为第2页。 智能电网实习总结doc全文共4页,当前为第3页。 智能电网实习总结doc全文共4页,当前为第3页。 智能电网实习总结doc全文共4页,当前为第4页。 智能电网实习总结doc全文共4页,当前为第4页。 智能电网实习总结doc

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧