Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 18 kết quả

Đề tài: Một bài tập đơn giản về struct,mà không biết sai cái gì...

  1. #1
    Ngày gia nhập
    03 2008
    Bài viết
    64

    Mặc định Một bài tập đơn giản về struct,mà không biết sai cái gì...

    Bài này chỉ đơn giản là nhập vào các đơn thức sau đó xuất ra thành 1 đa thức
    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    #include <math.h>
    struct donthuc
    {
    	int heso;
    	int somu;
    };
    void nhapdonthuc(donthuc *x)
    {
    	printf("Nhap he so cua don thuc: ");
    	scanf("%d",&x->heso);
    	printf("Nhap so mu cua don thuc: ");
    	scanf("%d",&x->somu);
    }
    void nhapdathuc(donthuc *&x,int *soluong)
    {
    	printf("Nhap so don thuc \n");
    	scanf("%d",soluong);
    	x=(donthuc*)malloc(*soluong*sizeof(donthuc));
    	for(int i=0;i<*soluong;i++)
    	{
    		printf("Nhap don thuc thu %d\n",i+1);
    		nhapdonthuc(x+i);
    	}
    }
    void xuatdathuc(donthuc *x,int *soluong)
    {
    	printf("Da thuc da nhap la :\n");
    	for(int i=0;i<*soluong;i++)
    	{
    		printf("%d.x^%d ",(x+i)->heso,(x+i)->somu);
    	}
    }
    void main()
    {
    	int *x;
    	int n;
    ;
    	xuatdathuc(x,&n);
    	getch();
    }
    error C2664: 'xuatdathuc' : cannot convert parameter 1 from 'int *' to 'struct donthuc *& '
    A reference that is not to 'const' cannot be bound to a non-lvalue
    Là sao hả mấy bạn?ai sửa giúp mình với

  2. #2
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    int *x
    mà dám đưa vào thì giỏi đấy.
    đổi lại coi.

  3. #3
    Ngày gia nhập
    03 2008
    Bài viết
    64

    Đúng rồi,mà vẫn còn nhiều lỗi khác nữa..ra don't send hoài,chả bít làm sao
    Đã vậy chỉ biết hiệu quả khi dùng đơn thức có hệ số dương mà thôi,hệ số âm viết ra là 1x2+3x4+-4x6





    Note: Vui lòng không sử dụng từ ngữ mang phong cách theo các bạn là "cute" ở đây >> (bít).Vi phạm lần sau sẽ xóa bài mà không cần thông báo.
    Đã được chỉnh sửa lần cuối bởi comeonbaby : 05-04-2008 lúc 07:36 PM.

  4. #4
    Ngày gia nhập
    10 2007
    Bài viết
    31

    Code:
    void main()
    {
    	struct donthuc *x;
    	int n;
            nhapdathuc(x,&n);
    	xuatdathuc(x,&n);
    	getch();
    }
    MORE.........................

  5. #5
    Ngày gia nhập
    11 2006
    Bài viết
    633

    Bài tập đơn giản về struct mà còn lồng con trỏ vào thì bài tập khó hơn ko biết thế nào nữa. Dùng biến tĩnh thử đi rồi biết sai đúng.

  6. #6
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Mặc định Một bài tập đơn giản về struct,mà không biết sai cái gì...

    Lỗi của cậu chắc cũng phải cả tá, làm ơn dùng malloc + free() dùm tui 1 cái !
    C Code:
    1. #include <cstdio>
    2. #include <malloc.h>
    3. #include <cmath>
    4. struct donthuc{
    5.  int heso;
    6.  int somu;
    7. };
    8.  
    9. void nhapdonthuc(donthuc *x){
    10.  printf("Nhap he so cua don thuc: ");
    11.  scanf("%d",&x->heso);
    12.  printf("Nhap so mu cua don thuc: ");
    13.  scanf("%d",&x->somu);
    14. }
    15.  
    16. void nhapdathuc(donthuc* &x, int* soluong){
    17.  printf("Nhap so don thuc \n");
    18.  scanf("%d", soluong);
    19.  x = (donthuc*)malloc((*soluong)*sizeof(donthuc));
    20.  for (int i = 0; i < *soluong; ++i){
    21.   printf("Nhap don thuc thu %d\n",i+1);
    22.   nhapdonthuc(x + i);
    23.  }
    24. }
    25. void xuatdathuc(donthuc* x, int soluong){
    26.  printf("Da thuc da nhap la :\n");
    27.  for (int i = 0; i < soluong; ++i){
    28.   printf("%d.x^%d ",x[i].heso, x[i].somu);
    29.  }
    30. }
    31.  
    32. int main(){
    33.  donthuc* x;
    34.  int n;
    35.  nhapdathuc(x, &n);
    36.  xuatdathuc(x, n);
    37.  free(x); //tụi nó là anh em, sao cứ bỏ thằng em nào vậy ????
    38. }

  7. #7
    Ngày gia nhập
    03 2008
    Bài viết
    64

    Hix,còn bài này nữa,sai bét nhè luôn.
    Nhập hồ sơ(MSSV,ngày sinh,tên họ...) của 1 mảng sinh viên...,tìm sinh viên có điểm trung bình cao nhất.
    Code:
    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    #include<stdlib.h>
    struct ngay
    {
    	int ngaysinh;
    	int thangsinh;
    	int namsinh;
    };
    struct sinhvien
    {
    	char mssv[10];
    	char hovaten[40];
    	ngay lilich;
    	int diem;
    };
    void nhap(sinhvien *s)
    {
    	printf("Nhap MSSV:");
    	gets(s->mssv);
    	printf("Nhap ho va ten:");
    	gets(s->hovaten);
    	printf("Nhap ngay thang nam sinh: ");
    	scanf("%d%d%d,"&s->lilich.ngaysinh,&s->lilich.thangsinh,&s->lilich.namsinh);
    	printf("Nhap diem trung binh :");
    	scanf("%d",&s->diem);
    	
    
    }
    void mang(sinhvien *&s,int *soluong)
    {
    	s=(sinhvien *)malloc(*soluong*sizeof(sinhvien));
    	printf("Nhap so sinh vien :");
    	scanf("%d",soluong);
    	for(int i=0;i<*soluong;i++)
    	{
    		printf("Nhap ho so cua sinh vien thu %d\n",i+1);
    		nhap(s+i);
    	}
    }
    int timmax(sinhvien *s,int *soluong)
    {
    	int max=*(s->diem);
    	for(int i=0;i<*soluong;i++)
    	{
    		if(*(s->diem+i)>max)
    		{
    			max=*(s->diem+i);
    		}
    	}
    	return max;
    }
    void main()
    {
    	sinhvien sv;
    	int n;
    	
    
    	mang(&sv,&n);
    	printf("\n");
    	printf("Diem trung binh cao nhat la %d",timmax(&sv,&n));
    	getch();
    }

  8. #8
    Ngày gia nhập
    11 2007
    Bài viết
    153

    Ặc mình thật sự khâm phục kỹ thuật viết code của bạn đấy, bạn có hiểu chính bạn đang viết cái gì không thế? Hay chỉ biết code vào cho đầy chữ rồi đem hỏi??? Bạn hãy cho mình biết bạn có hiểu mình viết gì không?Mở sách ra và coi lại từ đầu về con trỏ và cấu trúc đi bạn nhé.Sau đấy hãy bắt tay vào code, chậm mà chắc bạn ạ, nếu nhanh mà như bạn rồi cũng tốn nhiều thời gian hơn vào việc học lại đấy.
    ttecak ?

  9. #9
    Ngày gia nhập
    03 2008
    Bài viết
    7

    hix, đã nói như thế mà vẫn dùng con trỏ, chịu thật.
    bài này ko cần dùng con trỏ mà vẫn làm được cơ mà
    I'm meo hoang!!!!!

  10. #10
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    hix, đã nói như thế mà vẫn dùng con trỏ, chịu thật.
    bài này ko cần dùng con trỏ mà vẫn làm được cơ mà
    meohoang nói cũng đúng, tuy nhiên càng dùng càng thuần thục, muốn thành thục C/C++ bắt buộc phải là fan của pointers. Đa số tui viết những code nhỏ thì tui dùng pointer hầu hết thời gian, có dùng ref được, tui cũng dùng pointer vì mình viết quen pointer thì kĩ năng sẽ lên cũng nhiều. Chịu khó dùng như vậy là tốt, nhưng có vẻ cậu kia còn mất căn bản quá, chịu khó đọc sách kĩ lại 1 chút, viết pointer thì viết tới đâu test tới đó, chứ đừng dồn 1 cục như vậy.
    @TayLapTrinh : nếu cậu chú thích từng dòng lệnh chạy xong mà vẫn còn sai thì tui sẽ debug cho cậu ? fair ?

Các đề tài tương tự

  1. Bài tập C++ làm sao truy xuất biến của struct lồng trong struct
    Gửi bởi quangnam.tamky trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 10-04-2013, 05:22 PM
  2. Kỹ thuật C Biến kiểu struct bị lỗi với thành phần kiểu float
    Gửi bởi ntauctit trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 01-10-2011, 08:49 PM
  3. vấn đề với swap 2 biến struct
    Gửi bởi vodanh229 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 19-12-2009, 12:40 AM
  4. VC++ cách gán 2 biến của 1 struct với nhau
    Gửi bởi honey trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 02-09-2009, 05:29 PM
  5. Không biết bài struct này sai chỗ nào?
    Gửi bởi atiso trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 19-04-2008, 02:10 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn