Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
查看: 7401|回复: 22
打印 上一主题 下一主题

Term 2了。。。開始學web development了。。有問題會問

[复制链接]

5

主题

0

好友

1万

积分

荣誉会员

さてだ ...どうしよう?

Rank: 50Rank: 50Rank: 50Rank: 50Rank: 50

跳转到指定楼层
1#
发表于 2008-10-15 08:05 PM |显示全部楼层 |倒序浏览
前几个礼拜还好。。。
就学了while loop,if else,reverse那些。。。
今天学了点continue/break, switch case的。。。lecturer讲有点不清楚。。。头脑有点难消化
有点问题想问。。。

write a C++ program to count the numbers of vowels and consonants in a word
  1. #include<iostream>
  2. using namespace std;

  3. int main()
  4. {
  5.     int i=0,vowels=0,spaces=0,consonants=0;
  6.     char text[50];
  7.     cout<<"Enter the word\n";
  8.     cin>>text;
  9.     while(i<strlen(text))
  10.     {
  11.         switch(text[i])
  12.         {
  13.         case 'a':
  14.         case 'e':
  15.         case 'i':
  16.         case 'o':
  17.         case 'u':
  18.                    vowels++;
  19.                    break;
  20.         default:
  21.                    consonants++;
  22.                    break;
  23.         }
  24.         i++;
  25.         
  26.     }
  27. cout<<"Number of vowels="<<vowels<<"\n";
  28. cout<<"Number of consonants="<<consonants<<"\n";

  29. return 0;
  30. }
复制代码
想请问switch case的主要功能是?
然后i<strlen(text)是什么来的?

[ 本帖最后由 虚空使者 于 2008-12-22 04:23 PM 编辑 ]




收藏收藏0

5

主题

0

好友

1万

积分

荣誉会员

さてだ ...どうしよう?

Rank: 50Rank: 50Rank: 50Rank: 50Rank: 50

2#
发表于 2008-10-15 09:26 PM |显示全部楼层

回复 #2 goodday 的帖子

啊~看得懂~
简单明了

这个program只能找单字罢了。。。
lecturer要我们改成找text的。。。
而且还要我们算有几个space跟几个大写小写字母。。。
分明就是在刁难我们
我尝试把program改成如下。。。但是还是算不到space。。。一直是0  
而且consonant也出问题了。。。算不到。。。
至于算大写小写我完全不会
  1. #include<iostream>
  2. using namespace std;

  3. int main()
  4. {
  5.     int i=0,vowels=0,spaces=0,consonants=0;
  6.     char text[50];
  7.     cout<<"Enter the word\n";
  8.     cin>>text;
  9.     while(i<strlen(text))
  10.     {
  11.         switch(text)
  12.         {
  13.         case 'a':
  14.         case 'e':
  15.         case 'i':
  16.         case 'o':
  17.         case 'u':
  18.                    vowels++;
  19.                    break;
  20.         case ' ':
  21.                     spaces++
  22.                     break;
  23.         default:
  24.                    consonants++;
  25.                    break;
  26.         }
  27.         i++;
  28.         
  29.     }
  30. cout<<"Number of vowels="<<vowels<<"\n";
  31. cout<<"Number of spaces="<<spaces<<\n";
  32. cout<<"Number of consonants="<<consonants<<"\n";

  33. return 0;
  34. }
复制代码


回复

使用道具 举报

5

主题

0

好友

1万

积分

荣誉会员

さてだ ...どうしよう?

Rank: 50Rank: 50Rank: 50Rank: 50Rank: 50

3#
发表于 2008-10-20 09:14 AM |显示全部楼层
番茄兄跟Eden兄寫的程式
里面有部分command我還沒學過
看得出我的lecturer是在刁難我
應該下幾堂課就會學到那些東西了


回复

使用道具 举报

5

主题

0

好友

1万

积分

荣誉会员

さてだ ...どうしよう?

Rank: 50Rank: 50Rank: 50Rank: 50Rank: 50

4#
发表于 2008-10-22 10:24 AM |显示全部楼层
又有新问题了。。。
  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. int i,j;
  6. for(i=1; i<=10; i++)
  7. {
  8. for(j=1; j<=10; j++)
  9. {
  10. cout<<"*";
  11. }
  12. cout<<"\n";
  13. }
  14. return 0;
  15. }
复制代码
他出来的output是:
**********
**********
**********
**********
**********
**********
**********
**********
**********
**********
谁能告诉我这code的作用跟它的含义?

[ 本帖最后由 虚空使者 于 2008-10-22 10:26 AM 编辑 ]


回复

使用道具 举报

5

主题

0

好友

1万

积分

荣誉会员

さてだ ...どうしよう?

Rank: 50Rank: 50Rank: 50Rank: 50Rank: 50

5#
发表于 2008-10-22 05:59 PM |显示全部楼层
for(i=1;                                       i<=10;                                i++)
       ^                                               ^                                      ^
     exp1                                        exp2                                 exp3
(initialization done only 1 times)
剛剛做了點research
據我所知for是包含了3個expression
而且使用for的話有時可以縮短程式的長度

如果我的理論沒猜錯的話
假設我把cout換成j
出來的答案是
12345678910*10行
就i的1是12345678910
i的2也是12345678910這樣以此類推吧?

大概終于弄懂些了
也稍微有去玩玩數據一下
結果弄到infinity loop出來= =

然后
今天臨走前lecturer丟了個程式給我們就說dismiss了= =
  1. #include<iostream>
  2. using namespace std;

  3. int main()
  4. {
  5. int row=10, column;
  6. while(row>=1)
  7. {
  8.     column=1;
  9.     while(column<=10)
  10.     {
  11.         cout<<row%2;
  12.         ++column;
  13.     }
  14.     --row;
  15.     cout<<"\n";
  16. }
  17. return 0;
  18. }
复制代码

這個強悍。。。我目前為止都只用過postfix的increment/decrement
現在這個連prefix的都有= =


回复

使用道具 举报

5

主题

0

好友

1万

积分

荣誉会员

さてだ ...どうしよう?

Rank: 50Rank: 50Rank: 50Rank: 50Rank: 50

6#
发表于 2008-10-23 08:35 PM |显示全部楼层
可不可以問點題外話?

我想知道一個server除了擁有window server os之外
還有包含其他的software嗎?


回复

使用道具 举报

5

主题

0

好友

1万

积分

荣誉会员

さてだ ...どうしよう?

Rank: 50Rank: 50Rank: 50Rank: 50Rank: 50

7#
发表于 2008-10-24 11:26 AM |显示全部楼层

回复 #22 Super-Tomato 的帖子

就server運作時有沒有什么軟件是必裝的?


回复

使用道具 举报

5

主题

0

好友

1万

积分

荣誉会员

さてだ ...どうしよう?

Rank: 50Rank: 50Rank: 50Rank: 50Rank: 50

8#
发表于 2008-11-4 04:29 PM |显示全部楼层
這個是我assignment 2要交的東西
不懂可不可以幫我看看哪里有錯誤。。。或能幫我弄短一些
  1. #include<iostream>
  2. using namespace std;

  3. int main()
  4. {
  5. int number,pay,n,j,k,l;
  6. char choice;
  7. while(1)
  8. {
  9. cout<<"Enter the paycode\n 1 for manager\n 2 for hourly worker\n 3 for commission worker\n 4 for piece worker\n";
  10. cin>>number;
  11. switch(number)
  12. {
  13. case 1:
  14.     cout<<"Please enter the weekly salary\n";
  15.     cin>>n;
  16.         cout<<"The weekly salary for manager is "<<n<<"\n";
  17.     break;
  18. case 2:
  19. cout<<"Please key in the payrate and hoursworked, if work more than 40 hour please key in the hourlypay and OT hoursworked, if less than 40 hour please input 0 for both\n";
  20. cin>>n;
  21. cin>>j;
  22. cin>>k;
  23. cin>>l;
  24. if(j>40)
  25. {
  26.     pay=n*j+(1.5*k*l);
  27. }
  28. if(j<=40)
  29. {
  30. pay=n*j;
  31. }
  32. cout<<"The weekly pay for houly worker is "<<pay<<"\n";
  33. break;
  34. case 3:
  35.     cout<<"Please key in weeklysales\n";
  36.     cin>>n;
  37.     pay=250+(n*0.057);
  38.         cout<<"The weekly pay for commission worker is "<<pay<<"\n";
  39.     break;
  40. case 4:
  41.     cout<<"Please key in item produced and item price\n";
  42.     cin>>n;
  43.     cin>>j;
  44.     pay=n*j;
  45.         cout<<"The weekly pay for piece worker is "<<pay<<"\n";
  46.     break;


  47. default:
  48.     cout<<"Wrong number\n";
  49.     break;

  50. }

  51. label: cout<<"Do you wish to continue(Y/N)?\n";
  52. cin>>choice;
  53. if(choice=='Y') continue;
  54. else if(choice=='N') break;
  55. else
  56. {
  57.     cout<<"Wrong choice..Type again\n";
  58.     goto label;
  59. }
  60. }


  61. return 0;
  62. }
复制代码


回复

使用道具 举报

5

主题

0

好友

1万

积分

荣誉会员

さてだ ...どうしよう?

Rank: 50Rank: 50Rank: 50Rank: 50Rank: 50

9#
发表于 2008-11-4 06:04 PM |显示全部楼层
我在cout那里有注明了
cout<<"Please key in the payrate and hoursworked, if work more than 40 hour please key in the hourlypay and OT hoursworked, if less than 40 hour please input 0 for both\n";
還是有更好的表達方法?
總覺得這個cout好像長了些。。。


回复

使用道具 举报

5

主题

0

好友

1万

积分

荣誉会员

さてだ ...どうしよう?

Rank: 50Rank: 50Rank: 50Rank: 50Rank: 50

10#
发表于 2008-11-4 08:14 PM |显示全部楼层

回复 #28 Super-Tomato 的帖子

大概明白你的意思了

  1. #include<iostream>
  2. using namespace std;

  3. int main()
  4. {
  5. int number,pay,n,j,k,l;
  6. char choice;
  7. while(1)
  8. {
  9. cout<<"Enter the paycode\n 1 for manager\n 2 for hourly worker\n 3 for commission worker\n 4 for piece worker\n";
  10. cin>>number;
  11. switch(number)
  12. {
  13. case 1:
  14.     cout<<"Please enter the weekly salary\n";
  15.     cin>>n;
  16.         cout<<"The weekly salary for manager is "<<n<<"\n";
  17.     break;
  18. case 2:
  19. cout<<"Please key in the payrate";
  20. cin>>n;
  21. cout<<"Please key in hoursworked\n";
  22. cin>>j;
  23. cout<<"Please key in the hourlypay for exceed 40 hoursworked, else input 0 \n";
  24. cin>>k;
  25. cout<<"Please key in the OT hoursworked, only applicable if hoursworked exceed 40 hours, else input 0\n";
  26. cin>>l;
  27. if(j>40)
  28. {
  29.     pay=n*j+(1.5*k*l);
  30. }
  31. if(j<=40)
  32. {
  33. pay=n*j;
  34. }
  35. cout<<"The weekly pay for houly worker is "<<pay<<"\n";
  36. break;
  37. case 3:
  38.     cout<<"Please key in weeklysales\n";
  39.     cin>>n;
  40.     pay=250+(n*0.057);
  41.         cout<<"The weekly pay for commission worker is "<<pay<<"\n";
  42.     break;
  43. case 4:
  44.     cout<<"Please key in item produced\n";
  45.     cin>>n;
  46. cout<<"Please key in item price\n";
  47.     cin>>j;
  48.     pay=n*j;
  49.         cout<<"The weekly pay for piece worker is "<<pay<<"\n";
  50.     break;


  51. default:
  52.     cout<<"Wrong number\n";
  53.     break;

  54. }

  55. label: cout<<"Do you wish to continue(Y/N)?\n";
  56. cin>>choice;
  57. if(choice=='Y') continue;
  58. else if(choice=='N') break;
  59. else
  60. {
  61.     cout<<"Wrong choice..Type again\n";
  62.     goto label;
  63. }
  64. }


  65. return 0;
  66. }
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2025-12-4 09:26 AM , Processed in 0.123269 second(s), 26 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部