some problem in C++

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • logieen
    New Member
    • May 2007
    • 6

    some problem in C++

    Hi , Every one I really need some help in my programs it doesn't work as I want I know there something wrong in it if you know where the wrong is just show me plz as soon as Possible plzzzzz.
    I a Beginner in C++ ;

    I will be thankful for you .

    ------------------------
    first program : I need the user to enter his/her full name and then the program separate the string to first name , middle name and the last name which stored in three different strings .
    I do it like this ....
    [code=cpp]#include<iostre am.h>
    #include<conio. h>
    #include<stdlib .h>
    #include<ctype. h>
    #include<string .h>
    main()
    {
    int i = 1, j, d = 0, k, tmp, x;
    char word[10], f[10], m[10], l[10];

    cout << "Enter Your Full Name\n";

    while (cin >> word) {
    cout.width('\0' );
    cout << "\n";
    if (word != '\0') {
    strcpy(f, word);
    cout << "\n Your First Name is.... \n";
    cout << f;
    }
    strcpy(m, word);
    cout << "\n Your Middle Name is.... \n";
    cout << m;
    strcpy(l, word);
    cout << "\n Your Last Name is.... \n";
    cout << l;
    }
    cout << "\n";
    getch();
    return 0;
    }[/code]

    *************** *************** *************** *******
    second program: it ask the user to enter three word and then arranges the word in alphabetical order using string function to solve this.
    I do it like this ....

    [code=cpp]#include<iostre am.h>
    #include<conio. h>
    #include<stdlib .h>
    #include<ctype. h>
    #include<string .h>
    main()
    {
    int i = 1, j, d = 0;
    char word[10], word1[10], word2[10];

    cout << "Enter How many time you want to do this .... \n";
    cin >> j;
    for (i = 1; i <= j; i++) {
    cout << "\nEnter First Word\n";
    cin >> word;
    cout << "Enter Second Word\n";
    cin >> word1;
    cout << "Enter Third Word\n";
    cin >> word2;

    cout << "\nGiven word is arranged in alphabetical order\n";
    if (strcmp(word2, word1) && strcmp(word2, word)) {
    cout << word2;
    cout << "\n\n";
    }
    if (strcmp(word1, word) && strcmp(word1, word2)) {
    cout << word1;
    cout << "\n\n";
    }
    if (strcmp(word, word2) && strcmp(word, word1)) {
    cout << word;
    }
    cout << "\n";
    cout << "\t\t *************** *** \n";
    }
    getch();
    return 0;
    }[/code]

    *************** *************** *************
    Third program: it Suppose to solve this summation series :
    1+2 - 3+4 - 5+6 ...... N
    I do it like this

    [code=cpp]#include <stdio.h>
    #include <conio.h>
    #define N 3

    main()
    {
    int i,j,d=0,s=0; float sum = 0;
    for (i=0; i <= N; i++){
    sum +=((d-N)-(((d+i)+1)+((s+ i)+2));
    d=2+i;
    s=2+i;
    }
    printf("%d: %4.6f\n", i, sum);
    getch();
    }[/code]

    *************** *************** *************** ******
    Fourth program : it ask the user to entered two word and exchange the first half a part from word the first string with the second half a part from word the second string also exchange the second half a part from first string with the first half a part string from the second .

    I do it like this

    [code=cpp]#include<iostre am.h>
    #include<conio. h>
    #include<string .h>
    main()
    {
    int i, j;

    cout << "Enter How many time you want to do this a word";
    cin >> j;
    for (i = 1; i <= j; i++) {
    cout << "\nEnter The Words\n";
    char word1[6], word2[6], tmp[5], tmp1[5];
    cin >> word1;
    cin >> word2;
    cout << "\nThe first word is ";
    cout << word1;
    cout << "\nThe second word is ";
    cout << word2;
    cout << " \n\n";
    strcpy(tmp1, word2);
    strncpy(word2, word1, 3);
    cout << "\n";
    cout << word2;
    strcpy(tmp, word2);
    strncpy(word1, tmp1, 3);
    cout << "\n";
    cout << " \n\n";
    cout << word1;
    cout << " \n\n";
    }
    getch();
    }[/code]

    *************** *************** *************** *****
    Fifth program: it Suppose to Generate 9 number and then 0,5
    Example( a program Generate 055341122 it will be like this 0505341122 or like this 0555341122

    I do it like this

    [code=cpp]#include<iostre am.h>
    #include<conio. h>
    #include<stdlib .h>
    main()
    {
    int i, j, d = 0, k, tmp;
    cin >> j;
    while (d < j) {
    for (i = 1; i <= 9; i++) {
    k = 1 + rand() % 6;
    cout << k;
    }
    tmp = k;
    cout << tmp;
    cout << "\n";
    d++;
    }
    getch();
    return 0;
    }[/code]

    So help me plzzzzzzzzzzzzz zz
    Last edited by AdrianH; May 21 '07, 12:28 AM. Reason: Use [code=cpp][/code] tags
  • AdrianH
    Recognized Expert Top Contributor
    • Feb 2007
    • 1251

    #2
    I'm sorry, but although it would appear that you have written the code, you are not telling us anything about what is wrong. You have to tell us that before we even attempt to do anything as for all we know, this could be the assignment.


    Adrian

    EDIT: PS Please improve your indenting style. Some of these are unreadable.

    Comment

    • logieen
      New Member
      • May 2007
      • 6

      #3
      in a first program i want it to enter full name word[10] ;
      let's say the user enter " sasuke naruto gaara "
      it Suppose to separate the name into first name " sasuke" i want it to store it in f[10] and the middle name " naruto" stored in m[10] and the last name"gaara" stored in l[10]
      the program i post it work but does't do that
      it enterd the full name but doesn't separate the name there the problem


      -------------
      second program it work but doesn't arranges the word in alphabetical order .there the problem

      -------------------------
      third program I know is totally wrong cause it Suppose to solve this summation series I tried so hard to solve it but doesn't work with me

      1+2 - 3+4 - 5+6 ...... N



      ---------------------
      fourth program it work let's say the user enter first word" sasuke " second word " naruto" the run will be like this " sasnar" and "narsas" when i want the run like this "ukesas"
      "utonar"

      -------------------
      fifth program like I said it Suppose to Generate 9 number randomly and then add 0,5 where I colored it
      Example( a program Generate 05341122 it will be like this 0505341122 or like this 0555341122


      so help me am not that much in c and c++

      Comment

      • AdrianH
        Recognized Expert Top Contributor
        • Feb 2007
        • 1251

        #4
        Ok, so what results did you get?


        Adrian

        Comment

        • logieen
          New Member
          • May 2007
          • 6

          #5
          Originally posted by logieen
          in a first program i want it to enter full name word[10] ;
          let's say the user enter " sasuke naruto gaara "
          it Suppose to separate the name into first name " sasuke" i want it to store it in f[10] and the middle name " naruto" stored in m[10] and the last name"gaara" stored in l[10]
          the program i post it work but does't do that
          it enterd the full name but doesn't separate the name there the problem
          It just enter the full name it doesn't separate.


          -------------
          Originally posted by logieen
          second program it work but doesn't arranges the word in alphabetical order .there the problem
          this the run
          http://www.el3mlak.net/up/images/5262412f.png


          -------------------------
          Originally posted by logieen
          third program I know is totally wrong cause it Suppose to solve this summation series I tried so hard to solve it but doesn't work with me
          1+2 - 3+4 - 5+6 ...... N

          here the run show -45.000

          ---------------------
          Originally posted by logieen
          fourth program it work let's say the user enter first word" sasuke " second word " naruto" the run will be like this " sasnar" and "narsas" when i want the run like this "ukesas" "utonar"
          this is the run
          http://www.el3mlak.net/up/images/3893144f.png
          -------------------
          Originally posted by logieen
          fifth program like I said it Suppose to Generate 9 number randomly and then add 0,5 where I colored it
          Example( a program Generate 05341122 it will be like this 0505341122 or like this 0555341122
          this is the run
          http://www.el3mlak.net/up/images/7086157f.png

          Comment

          • AdrianH
            Recognized Expert Top Contributor
            • Feb 2007
            • 1251

            #6
            What compiler are you using? Did you change your programmes since you posted them?


            Adrian

            Comment

            • AdrianH
              Recognized Expert Top Contributor
              • Feb 2007
              • 1251

              #7
              Ok, here is a list for the first one. When we get your first programme working, we will move on to the next.
              • main() should return an int
              • don’t include iostream.h, include iostream instead (no .h) and add the line using namespace std; after the includes.
              • you don’t (at least you shouldn’t) need to include ctype.h
              • don’t include conio.h as this is not portable. Instead of using getch();, use cin.ignore(); instead. It will wait until you press the enter key.
              • for your loop condition, use !cin.eof(). This means to continue looping while it has not reached the end of the stream. Using cin >> word doesn’t make sense as it returns an object, not a Boolean value.
              • cout.width(‘\0’ ) is not correct. Though it will compile, your use of it suggests that you do not know how to use it correctly. Read up on this function and others here.
              • you only have one place where you are reading in anything, and no condition to differentiate between the first, middle and last name. Either 1) make three different spots where you read in, or 2) use some sort of counter to differentiate.

              Once you have fixed these problems, let me know how you are doing. If you are having other problems, please post back here and I will continue to help. If things go well, we can continue on with the next of your questions.


              Adrian

              Comment

              Working...