数据结构实验1-日期:9月8日

来源:互联网 发布:白山网络人才网 编辑:程序博客网 时间:2024/06/16 04:57

三更半夜写博客,一口老血喷出来哭

题目如下:

(1) 编写一个程序计算长途电话费。电话费根据以下费率计算:

² 周一到周五,上午八点到下午六点之间打出的任何电话都按每分钟0.4元收取;

² 周一到周五,上午八点之前到下午六点之后打出的任何电话都按每分钟0.25元收取;

² 周六和周日,打出的任何电话都按每分钟0.15元收取。

要求:

² 输入时,应指定当前是星期几、开始通话的时间(以24小时格式输入)、通话时间(以分钟为单位的整数);

² 输入星期几时,采用如下格式,将它们存储在char类型的一个变量中:MoTuWeThFrSaSu,务必允许用户采用大写、小写或者大小写混合的形式输入;

程序应包含一个循环,允许用户重复这一计算,直到他们表示操作完毕为止

刚看这题,感觉好复杂,用户通话时长可能跨越好几个计价时段,甚至打一整个星期。。。

问了问老师,说直接输入单独计费时段就行

於是得出以下代码

#include<iostream>#include<cstring>using namespace std;int main(){char str[7][3]={"Mo","Tu","We","Th","Fr","Sa","Su"};char date[3];int hour,min,flag,sum;while(1){cout<<"输入星期几:";cin>>date;cout<<"输入开始时间:";cin>>hour>>min;cout<<"输入通话时长:"; cin>>sum;if((stricmp(date,str[0])==0)||(stricmp(date,str[1])==0)||(stricmp(date,str[2])==0)||(stricmp(date,str[3])==0)||(stricmp(date,str[4])==0)){if(hour>=8&&hour<18)cout<<"话费:"<<sum*0.4<<endl;elsecout<<"话费:"<<sum*0.25<<endl;}elsecout<<"话费:"<<sum*0.15<<endl;cout<<"继续?输入1,否则输入0:";cin>>flag;if(flag==0)break; }return 0; } 
本题主要使用了一个字符串不区分大小写比较函数stricmp

原型:extern int stricmp(char *s1,char * s2);

用法:#include <string.h>

功能:比较字符串s1和s2,但不区分字母的大小写。

说明:strcmpi是到stricmp的宏定义,实际未提供此函数。

当s1<s2时,返回值<0

当s1=s2时,返回值=0

当s1>s2时,返回值>0

在C++中头文件应写为include<cstring>


好了,到此本题也就写完了,我要睡觉了。

最近学前端开发,推荐个不错的练手网站http://how2j.cn/k/tmall-j2ee/tmall-j2ee-894/894.html?p=13028里面资料还是挺全面的,而且有交流群,学习气氛很好。

原创粉丝点击