搜索
首页 电脑/网络 程序设计 C/C++

各位兄弟,请教关于一个程序的输出格式问题

  编写一个程序,对用户录入的产品信息进行格式化。程序会话应该类似下面这样:Enter item number: 583Enter unit price: 13。5Enter purchase date (mm/dd/yyyy) : 10/24/2010Item Unit Purchase Price Date583 $ 13。
  50 10/24/2010其中,产品编号和日期项采用左对齐方式,单位价格采用右对齐方式,允许最大取值为9999。99的美元。提示:各个列使用制表符控制。我写的程序如下:#include int main(void){ int item, mm, dd, yyyy; float unitPrice; printf("Enter item number: "); scanf("%d", &item); printf("Enter unit price: "); scanf("%f", &unitPrice); printf("Enter purchase date: "); scanf("%d/%d/%d", &mm, &dd, &yyyy); printf("Item\t\tUnit\t\tPurchase"); printf("\n\t\tPrice\t\tDate"); printf("\n%-d\t\t$ %6。
  2f\t%-02d/%-02d/%-d", item, unitPrice, mm, dd, yyyy); getch(); return 0;}其中“允许最大取值为9999。99的美元”,应该怎么来正确的限制?如果我输入的是99999。99(前面多加了个9),怎么显示出来的还是99999。
  99?。

全部回答

2011-01-12

0 0
    /*这样应该可以限制了0。0,大于9999。99的时候循环输入,知道不大于9999。99*/ #include int main(void) { int item, mm, dd, yyyy; float unitPrice; printf("Enter item number: "); scanf("%d", &item); printf("Enter unit price: "); while(1) { scanf("%f", &unitPrice); if(unitPrice<=9999。
    99) /*max Price is 9999。99*/ break; } printf("Enter purchase date: "); scanf("%d/%d/%d", &mm, &dd, &yyyy); printf("Item\t\tUnit\t\tPurchase"); printf("\n\t\tPrice\t\tDate"); printf("\n%-d\t\t$ %6。
    2f\t%-02d/%-02d/%-d", item, unitPrice, mm, dd, yyyy); getch(); return 0; } /**/。
  

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
C/C++
硬件
电脑装机
程序设计
互联网
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
程序设计
C/C++
VB
数据库
汇编语言
JAVA相关
VC++
C#/.NET
其他编程语言
C/C++
C/C++
举报
举报原因(必选):
取消确定举报