标题:请帮忙看这个自行车订单程序,可以编译,但运行出错。谢谢。
取消只看楼主
winglesswu
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2013-1-28
结帖率:71.88%
已结贴  问题点数:20 回复次数:1 
请帮忙看这个自行车订单程序,可以编译,但运行出错。谢谢。
#include<stdio.h>
/*The purpose of this program is to perform calculations with functions and pointers.*/
main()
{
int hqty, rqty, mqty, tqty, hwsize, rwsize, mwsize, twsize, total_sold;
double hseats, tseats, rupgrade, mupgrade, tupgrade;
double htotal, rtotal, mtotal, ttotal, total, discount, tax, total_order, total_value;
int yyyy, mm, dd; int ccno;
char yn='Y';

while (yn=='Y'||yn=='y')
{
printf("\nCROWN BICYCLE CORPORATION-Manager ");
printf("\nCROWN BICYCLE CORPORATION    DATE: 2013/03/08");

get_inputs(&hqty, &rqty, &mqty, &tqty, &hwsize, &rwsize, &mwsize, &twsize, &hseats, &tseats, &rupgrade, &mupgrade, &tupgrade );
htotal=hqty*1000+(hwsize-22)*50+hseats;
rtotal=rqty*1000+(rwsize-22)*50+rupgrade;
mtotal=mqty*1000+(mwsize-22)*50+mupgrade;
ttotal=tqty*1000+(twsize-22)*50+tseats+tupgrade;
total=htotal+rtotal+mtotal+ttotal;
if (total>2000)
{discount=total*0.05;
tax=(total-discount)*0.13;
total_order=total-discount+tax;
printf("\nTOTAL PRICE FOR BIKE %10.2lf$\n", total);
printf("\nDISCOUNT %10.2lf$", discount);
printf("\nTAX (GST 13%) %10.2lf$", tax);
printf("\nTOTAL ORDER %10.2lf$", total_order);
}
else
{
printf("\nTOTAL PRICE FOR BIKE %10.2lf$", total);
printf("\nTAX (GST 13%) %10.2lf$", total*0.13 );
printf("\nTOTAL ORDER %10.2lf$", total*1.13);
}
printf( "\nWould you like to take another order? Y/N\n ");
scanf (" %c", &yn);
if(getchar()=='n')
break;
}
printf("\nPlease input your Credit Card number here to do transaction(last 6 numbers):");
scanf("%6d", &ccno);
printf("\nYour order has completed. Thank you for your shopping at CROWN BICYCLE CORPORATION. Goodbye!\n");

total_sold=hqty+rqty+mqty+tqty;
total_value+=total;
printf("\nSUMMARY for 2013/03/08");
printf("\nTotal number of bikes sold: %d", total_sold);
printf("\nTotal value of bikes sold:%10.2lf\n", total_value);
}

get_inputs(int *hqty, int *rqty, int *mqty, int *tqty, int *hwsize, int *rwsize, int *mwsize, int *twsize,
double *hseats, double *tseats, double *rupgrade, double *mupgrade, double *tupgrade)
{
char yn='Y', choice, yn1, yn2, yn3, yn4, yn5;
while (yn=='Y'||yn=='y')
{
printf("\nBIKE MODELS-CUSTOM MADE ORDER");
printf("\nH for Hybrid-MT");
printf("\nR for Race");
printf("\nM for Mountain");
printf("\nT for Touring");
printf("\nSelect (H, R, M or T only):");
scanf(" %c", &choice);

    switch (choice)
    {
    case ('H'):
    printf("\nYour Order for H, please input the number you want to purchase:\n");
    scanf("%d", hqty);
    printf("\nChoose a wheel size between 22 inch and 36 inch:\n");
    scanf("%d", hwsize);
    printf("\nDo you want the more comfortable seats? This charge is $50. Please enter your choice? yn1\n");
    scanf(" %c", &yn1);
    if (yn1=='Y'||yn1=='y')
    *hseats=50;
    if (yn1=='N'||yn1=='n')
    *hseats=0;
    break;

    case ('R'):
    printf("\n Your Order for R, please input the number you want to purchase:\n");
    scanf("%d", rqty);
    printf("\nChoose a wheel size between 22 inch and 36 inch:\n");
    scanf("%d", rwsize);
    printf("\nDo you want the upgraded custom gears? This charge is $300. Please enter your choice? yn2\n");
    scanf(" %c", &yn2);
    if (yn2=='Y'||yn2=='y')
    *rupgrade=300;
    if (yn2=='N'||yn2=='n')
    *rupgrade=0;
    break;
   
    case ('M'):
    printf("\n Your Order for M, please input the number you want to purchase:\n");
    scanf("%d", mqty);
    printf("\nChoose a wheel size between 22 inch and 36 inch:\n");
    scanf("%d", mwsize);
    printf("\nDo you want the upgraded custom gears? This charge is $300. Please enter your choice? yn3\n");
    scanf(" %c", &yn3);
    if (yn3=='Y'||yn3=='y')
    *mupgrade=300;
    if (yn3=='N'||yn3=='n')
    *mupgrade=0;
    break;
   
    case ('T'):
    printf("\nYour Order for t, please input the number you want to purchase:\n");
    scanf("%d", tqty);
    printf("\nChoose a wheel size between 22 inch and 36 inch:\n");
    scanf("%d", twsize);
    printf("\nDo you want the more comfortable seats? This charge is $50. Please enter your choice? yn4\n");
    scanf(" %c", &yn4);
    if (yn4=='Y'||yn4=='y')
    *tseats=50;
    if (yn4=='N'||yn4=='n')
    *tseats=0;
    printf("\nDo you want the upgraded custom gears? This charge is $300. Please enter your choice? yn5\n");
    scanf(" %c", yn5);
    if (yn5=='Y'||yn5=='y')
    *tupgrade=300;
    if (yn5=='N'||yn5=='n')
    *tupgrade=0;
    break;
    default: printf("Invalid choice, please try again.\n\n");
   }
getchar();
printf("\nWould you like to select other bike model? Please hit ENTER to continue, n to finish selection. Thank you. (y/n)\n");
if(getchar()=='n')
break;
}
}

搜索更多相关主题的帖子: 自行车 discount include purpose 
2013-02-27 10:16
winglesswu
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2013-1-28
得分:0 
以下是引用wp231957在2013-2-27 10:33:09的发言:

哇  咋这么乱啊

下面是程序要求:
要求为一个自行车的网购编写一个c语言程序,具体是:
有四种自行车:Hybrid-MT,Race,Mountain,Touring,分别用H R M T代替,基准价均为1000元。每种自行车的车轮尺寸是22-36,如果尺寸大于22,每多一寸,多收100元。
如果顾客选购 H和T,问他们是否要换舒适的座椅,此项收费为50元。如果选购R、M或T,问顾客是否要升级装备,此项收费是300元。如果购买金额大于2000元,有5%的折扣。税率为13%。
最后还要求显示一天的营业额,总售出自行车数量和价值。
输入:
CROWN BICYCLE CORPORATION – Manager XXX
BIKE MODELS – CUSTOM MADE ORDER, Hybrid-MT,Race,Mountain,Touring,Select (H, R, M or T only): Credit Card (last 6 numbers): 999999
Choose a wheel size between 22 inch and 36 inch:
输出:
CROWN BICYCLE CORPORATION    DATE: yyyy/mm/dd
TOTAL PRICE FOR BIKE:   
DISCOUNT:     (只有总共价值超过2000元才显示)
TAX (13% GST):
TOTAL ORDER:
每日总结报告:
SUMMARY for yyyy/mm/dd
Total number of bikes sold:
Total $ value of bikes sold:
要求:
1、输入输出要使用函数和指针
2、加一个循环,顾客订单结束后询问是否继续下一个订单
2013-02-27 11:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-399273-1-1.html




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

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