| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 936 人关注过本帖
标题:[求助]C程序作业题目
只看楼主 加入收藏
qhwgh
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-3-8
收藏
 问题点数:0 回复次数:8 
[求助]C程序作业题目

1. 设计一个多功能计算软件
实现功能:
1)具备整型数据、浮点型数据的算术(加、减、乘、除)运算功能。依次输入第一个运算数、运算符(+,-,*,/)、第二个运算数,然后输出结果。结果可以作为下一个运算的第一运算数。按‘C’清屏,按‘X’退出。
例如:输入:2
+
5
输出:7
2)实现单运算符表达式计算的功能。输入的操作数可以包含整数或浮点数。如果遇到错误的表达式,应输出错误提示信息。输入表达式如下:
例如:输入:2+5
输出:7

2. 学生成绩管理系统
1) 实现对成绩的管理功能(添加、删除、排序)
2) 实现对成绩的统计功能(最高分,最低分,平均分,及格率等)
3) 实现按学号、姓名、或课程名查询成绩的功能。
学生成绩记录包括以下信息:学号、姓名,院系、年级、班级、课程名,成绩(百分制)

3. 设计一个通讯录管理软件。
实现功能:
1) 通讯录编辑(添加、删除)。
2) 按不同的项进行查找。
3) 对已存在的通讯录按不同的项排序。
通讯录信息包括:姓名、性别、出生日期、单位、邮编、通信地址、电话、E-mail

搜索更多相关主题的帖子: 作业 运算符 
2007-03-08 14:50
无玩过界
Rank: 1
等 级:新手上路
威 望:2
帖 子:246
专家分:0
注 册:2007-2-20
收藏
得分:0 

第一题:在检查方面不是很强,输入的要注要一下
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int main()
{
double a,b;
char c,control;
puts("putin:a&b,&(+-*/)");/*输入格式为 a?b ?为+,-,*,/ */
if(NULL==scanf("%lf%c%lf",&a,&c,&b))
{printf("float error");
return 1;}
do{
switch(c)
{
case '+':
if((a-(int)a>0)||(b-(int)b>0))
{a+=b;
printf("=%lf",a);}
else
{a+=b;
printf("=%ld",(long)a);} break;
case '-':
if((a-(int)a>0)||(b-(int)b>0))
{a-=b;
printf("=%lf",a);}
else
{a-=b;
printf("=%ld",(long)a);} break;
case '*':
if((a-(int)a>0)||(b-(int)b>0))
{a*=b;
printf("=%lf",a);}
else
{a*=b;
printf("=%ld",(long)a);} break;
case '/':
if((int)b)
if((a-(int)a>0)||(b-(int)b>0))
{
a/=b;
printf("=%lf",a);}
else
{
a/=b;
printf("=%ld",(long)a);}
else
puts("putin error");
break;
default:puts("char error");return 1;
}

printf("\n*****************\nchose char:x to exit c Pure hold\n");
getchar();
control=getchar();

getchar();

if(control=='x'||control=='X')
break;
else
if(control=='c'||control=='C')
system("cls");
else
printf("Useless character list");

printf("The value of last time is:%lf putin:&b,&(+-*/)\n",a);
if(NULL==scanf("%c%lf",&c,&b)) /*/*输入格式为 ?b ,?为+,-,*,/ */
{printf("float error");
return 1;}


}while(1);
getch();
return 0;
}

[此贴子已经被作者于2007-3-8 20:36:41编辑过]


2007-03-08 19:40
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 

#include <stdio.h>
#include <conio.h>
int char_Int(char); /*把单字符型转换成整*/
long long_Int(int); /*传入位数返回对应位数的单位大小
例如: long_Int(3) 返回 100*/
double double_Int(int); /*传入小数点位数返回对应小数点位数的单位大小
例如: long_Int(3) 返回 0.001*/
double string_Double(char *); /*将字符串转换成 double 型*/
long string_Long(char *); /*将字符串转换成 long 型*/
void OutputResult(char *); /*显示结果*/

int main(void)
{
char getCharacter; /*临时存放从控制台得到的字符*/
char saveCharacter[50]; /*存放整个输入的字符*/
int i=0;
clrscr(); /*清屏*/
while(1)
{
getCharacter=getch(); /*从控制台得到一个字符
但不显示出来*/

/*合符条件的字符*/
if((getCharacter>='0' && getCharacter<='9')
|| getCharacter=='.'
|| getCharacter=='+'
|| getCharacter=='-'
|| getCharacter=='*'
|| getCharacter=='/'
|| getCharacter==' ')
{
/*保存字符*/
saveCharacter[i]=getCharacter;
/*显示输入的字符*/
printf("%c",getCharacter);
/*当前下标加一*/
i++;
}
else if(getCharacter==13) /*回车*/
{
/*在字符数组最后加上'\0'
以便识别*/
saveCharacter[i]='\0';
/*显示结果*/
OutputResult(saveCharacter);
}
else if(getCharacter==8) /*BackSpace键*/
{
/*清除前一个字符*/
printf("\b \b");
/*当前下标减一*/
i--;
}
else if(getCharacter=='c' || getCharacter=='C')
{
i=0;
clrscr();
}
else if(getCharacter=='e' || getCharacter=='E')
{
break;
}
else /*其它输入*/
continue;
}
}
void OutputResult(char *saveCharacter)
{
char tempString[20]; /*临时用的字符数组*/
int i=0;
int j=0;
double numFirst1=0; /*存放第一个double型操作数*/
long numFirst2=0; /*存放第一个long型操作数*/

double numSecond1=0; /*存放第二个double型操作数*/
long numSecond2=0; /*存放第二个long型操作数*/

double resultDouble=0; /*存放一个double型的结果数*/
long resultLong=0; /*存放一个long型的结果数*/
int FloatFlag=0; /*标记操作数中是否有浮点数*/

char operatorChar='\0'; /*存放操作符*/
for(j=0;;j++)
{
if(saveCharacter[j]==' '
|| saveCharacter[j]=='+'
|| saveCharacter[j]=='-'
|| saveCharacter[j]=='*'
|| saveCharacter[j]=='/'
)
{
tempString[j]='\0';
break;
}
else
{
tempString[j]=saveCharacter[j];
if(tempString[j]=='.')
FloatFlag=1;
}

if(j>=20)
{
clrscr();
printf("Data is too large!");
break;
}
}

if(FloatFlag==1)
numFirst1=string_Double(tempString);
else
{numFirst2=string_Long(tempString); printf("OK");}

i=0;
for(FloatFlag=0;saveCharacter[j]!='\0';j++)
{
if((saveCharacter[j]>='0' && saveCharacter[j]<='9')
|| saveCharacter[j]=='.')
{
tempString[i]=saveCharacter[j];
if(saveCharacter[j]=='.')
FloatFlag=1;
i++;
}
else if(saveCharacter[j]=='+'
|| saveCharacter[j]=='-'
|| saveCharacter[j]=='*'
|| saveCharacter[j]=='/')
{
operatorChar=saveCharacter[j];
}
}
tempString[i]='\0';
if(FloatFlag==1)
numSecond1=string_Double(tempString);
else
numSecond2=string_Long(tempString);

if(operatorChar=='+')
if(numFirst1==0)
{
if(numSecond1==0)
resultLong=numFirst2+numSecond2;
else
resultDouble=numFirst2+numSecond1;
}
else
{
if(numSecond1==0)
resultDouble=numFirst1+numSecond2;
else
resultDouble=numFirst1+numSecond1;
}
else if(operatorChar=='-')
if(numFirst1==0)
{
if(numSecond1==0)
resultLong=numFirst2-numSecond2;
else
resultDouble=numFirst2-numSecond1;
}
else
{
if(numSecond1==0)
resultDouble=numFirst1-numSecond2;
else
resultDouble=numFirst1-numSecond1;
}
else if(operatorChar=='*')
if(numFirst1==0)
{
if(numSecond1==0)
resultLong=numFirst2*numSecond2;
else
resultDouble=numFirst2*numSecond1;
}
else
{
if(numSecond1==0)
resultDouble=numFirst1*numSecond2;
else
resultDouble=numFirst1*numSecond1;
}
else if(operatorChar=='/')
if(numFirst1==0)
{
if(numSecond1==0)
{
numSecond1=numSecond2;
resultDouble=numFirst2/numSecond1;
}
else
resultDouble=numFirst2/numSecond1;
}
else
{
if(numSecond1==0)
resultDouble=numFirst1/numSecond2;
else
resultDouble=numFirst1/numSecond1;
}

clrscr();
if(resultDouble==0)
printf("%ld",resultLong);
else
printf("%f",resultDouble);
}

long string_Long(char *string)
{
int i;
int j;
long temp=0;
for(i=0;string[i]!='\0';i++) ;
for(j=0;string[j]!='\0';j++,i--)
{
temp+=char_Int(string[j])*(long_Int(i));
}
return temp;
}
double string_Double(char *string)
{
int i;
int j;
int k=1;
double temp=0;
for(i=0;string[i]!='.';i++) ;
for(j=0;string[j]!='\0';j++)
{
if(i!=0)
{
temp+=char_Int(string[j])*(long_Int(i));
i--;
}
else if(string[j]!='.')
{
temp+=char_Int(string[j])*(double_Int(k));
k++;
}
}
return temp;
}

double double_Int(int INT)
{
if(INT==0)
return 1.0;
else if(INT==1)
return 1.0/10.0;
else if(INT==2)
return 1.0/100.0;
else if(INT==3)
return 1.0/1000.0;
else if(INT==4)
return 1.0/10000.0;
else if(INT==5)
return 1.0/100000.0;
else if(INT==6)
return 1.0/1000000.0;
else if(INT==7)
return 1.0/10000000.0;
else if(INT==8)
return 1.0/100000000.0;
else if(INT==9)
return 1.0/1000000000.0;
}

int char_Int(char ch)
{
if(ch=='0')
return 0;
else if(ch=='1')
return 1;
else if(ch=='2')
return 2;
else if(ch=='3')
return 3;
else if(ch=='4')
return 4;
else if(ch=='5')
return 5;
else if(ch=='6')
return 6;
else if(ch=='7')
return 7;
else if(ch=='8')
return 8;
else if(ch=='9')
return 9;
}
long long_Int(int INT)
{
if(INT==0)
return 0;
else if(INT==1)
return 1;
else if(INT==2)
return 10;
else if(INT==3)
return 100;
else if(INT==4)
return 1000;
else if(INT==5)
return 10000;
else if(INT==6)
return 100000;
else if(INT==7)
return 1000000;
else if(INT==8)
return 10000000;
else if(INT==9)
return 100000000;
}

这个程序的第一个字符只能是数字,不能为'-' '+' '*' '/' ...
由于时间问题,没有去设计结果可利用的功能.


wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-03-08 22:18
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
至于第二道题,我以前帮过一个网友做过,
功能才可以实现,如果想要的话,
给出你的邮箱,我发给你!

至于第三道题,和第二道题相似,相信你可以自己做.

[此贴子已经被作者于2007-3-8 22:24:55编辑过]


wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-03-08 22:24
qhwgh
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-3-8
收藏
得分:0 
回复:(neverTheSame)至于第二道题,我以前帮过一个网...

谢谢啦!我的邮箱是:qhwgh@163.com

2007-03-09 08:57
qhwgh
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-3-8
收藏
得分:0 
回复:(neverTheSame)至于第二道题,我以前帮过一个网...

大哥帮帮忙把第二题请给我发过来吧,谢谢啦!

2007-03-09 15:54
暗灵幽冥
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-2-24
收藏
得分:0 
第2题用结构体做的吧.....应该不是太难,就是有点烦,你自己试试
2007-03-09 15:57
se7en_enter
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-5-11
收藏
得分:0 
3楼的程序是现成的啊,呵呵

年轻有年轻的冲动,成熟有成熟的魅力。莫让时间冲淡一切,要让一切充实时间
2007-03-09 21:20
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
以下是引用qhwgh在2007-3-9 8:57:08的发言:

谢谢啦!我的邮箱是:qhwgh@163.com

我已经发过去了,注意查收一下.


wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-03-09 23:33
快速回复:[求助]C程序作业题目
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031685 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved