-
16-03-2016, 11:29 AM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
cám ơn bạn nhiều nhé!
Cho mình hỏi thêm, Sao khi nhap xong mình mở file SV.txt lên thì nó không có hiện thị giống như mình nhập. Mà nó hiện lên các kí tự không đọc được giống dạng mã hóa.
- - - Nội dung đã được cập nhật ngày 16-03-2016 lúc 04:29 PM - - -
Sắp xếp dánh sách thí sinh có sẵn trong file theo tổng điểm giảm dần. mỗi thí sinh gồm các thông tin sau:
Mã thí sinh: là một số nguyên tự động tăng, bắt đầu là 1.
Tên thí sinh, ngày tháng năm sinh.
Diểm môn 1,2,3.
/*minh sửa lại theo đề của mình nhưng bị lỗi dòng fgets(s[i].nam,30,f) cố gắng sửa mà vẫn bị lỗi, bạn nào biết sửa giúp mình với . mình mới học lap trình c nên chưa hiểu lắm */
#include<stdio.h>
#include<conio.h>
using namespace std;
struct sinhvien
{
char hoten[30], nam[30];
float d1, d2, d3, tong;
int ma;
};
void nhap(sinhvien s[], int n)
{
int i;
for (i = 0; i<n; i++)
{ s[i].ma=i+1;
fflush(stdin);
//printf("
nhap vao sv thu %d", i + 1);
fflush(stdin);
printf("
maso: %d", s[i].ma);
// gets(s[i].ma);
printf("ho ten ");
gets(s[i].hoten);
printf("nam sinh ");
gets(s[i].nam);
do
{
printf("
Nhap vao diem mon 1: ");
scanf("%f", &s[i].d1);
if (s[i].d1 < 0 || s[i].d1 > 10)
{
printf("
Diem hoa khong hop le. Nhap lai!");
}
} while (s[i].d1 < 0 || s[i].d1 > 10);
do
{
printf("
Nhap vao diem mon 2: ");
scanf("%f", &s[i].d2);
if (s[i].d2 < 0 || s[i].d2 > 10)
{
printf("
Diem hoa khong hop le. Nhap lai!");
}
} while (s[i].d2 < 0 || s[i].d2 > 10);
// fflush(stdin);
do
{
printf("
Nhap vao diem mon 3: ");
scanf("%f", &s[i].d3);
if (s[i].d3 < 0 || s[i].d3 > 10)
{
printf("
Diem hoa khong hop le. Nhap lai!");
}
} while (s[i].d3 < 0 || s[i].d3 > 10);
s[i].tong = s[i].d1 + s[i].d2 + s[i].d3;
}
}
void xuat(sinhvien s[], int n)
{
for (int i = 0; i<n; i++)
printf("
%d %s %f",s[i].ma, s[i].hoten, s[i].tong);
}
void sapxep(sinhvien s[], int n)
{
int i, j;
sinhvien temp;
for (i = 0; i<n - 1; i++)
for (j = i + 1; j<n; j++)
{
if (s[i].tong<s[j].tong)
{
temp = s[i];
s[i] = s[j];
s[j] = temp;
}
printf("
%s %s %s %2.2f", s[i].ma, s[i].hoten, s[i].nam, s[i].tong);;
}
}
void nhapfile(sinhvien s[], int n)
{
int i;
FILE*f;
f = fopen("D:\SV.txt", "wt");
for (i = 0; i<n; i++)
{ fflush(stdin);
fprintf(f, "
%d", s[i].ma);
fgets(s[i].hoten, 30, f);
fflush(stdin);
fgets(s[i].nam, 30, f);
fprintf(f, "%f", &s[i].d1);
fprintf(f, "%f", &s[i].d2);
fprintf(f, "%f", &s[i].d3);
}
fclose(f);
}
int main()
{
int n;
sinhvien danhsach[30];
printf(" nhap n:
");
scanf("%d", &n);
nhap(danhsach, n);
sapxep(danhsach, n);
xuat(danhsach, n);
nhapfile(danhsach, n);
getch();
}View more random threads:
- Giúp em giải phương trình trên linux với ạ
- operator <<
- Đồ thị đẳng cấu ??
- con trỏ cấp 2
- Các tính O() bằng cách nào sau khi tìm ra dc so phép so sánh ạ ?
- Cần giúp bài tập C++ về Điểm và Tam Giác
- a chị giúp em với!!!!!!!!!!!!!
- Xóa một phần của File trong C
- quản lý bán hàng điện thọai di động
- Làm sao để quay hình 90 độ trong C++??
-
16-03-2016, 03:53 PM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
mọi người giúp minh code khong loi, khi chạy chương trinh chạy binh thường. nhưng sinh vien 1 khong cho nhap điểm thứ 3.
/*code chạy nhưng không cho nhap điem môn thu 3,kéo theo tinh tổng diem sai, sap xếp ra ket qua sai */
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
using namespace std;
struct sinhvien
{ char hoten[30], nam[30];
float d1,d2,d3,tong;
int ma;
};
void nhap(sinhvien s[],int n)
{ int i;
for(i=0;i<n;i++)
{ s[i].ma=i+1;
fflush(stdin);
printf("
nhap vao sv thu %d",i+1);
printf(" ma so: %d", s[i].ma);
printf("ho ten ");
gets(s[i].hoten);
printf("nam sinh ");
gets(s[i].nam);
do
{
printf("
Nhap vao diem mon 1: ");
scanf("%f", &s[i].d1);
if(s[i].d1 < 0 ||s[i].d1 > 10)
{
printf("
Diem hoa khong hop le. Nhap lai!");
}
}
while(s[i].d1 < 0|| s[i].d1 > 10);
do
{
printf("
Nhap vao diem mon 2: ");
scanf("%f", &s[i].d2);
if(s[i].d2 < 0 ||s[i].d2 > 10)
{
printf("
Diem hoa khong hop le. Nhap lai!");
}
}
while(s[i].d2 < 0|| s[i].d2 > 10);
}
do
{
printf("
Nhap vao diem mon 3: ");
scanf("%f", &s[i].d3);
if(s[i].d3 < 0 ||s[i].d3 > 10)
{
printf("
Diem hoa khong hop le. Nhap lai!");
}
}
while(s[i].d3 < 0|| s[i].d3 > 10);
s[i].tong=s[i].d1+s[i].d2+s[i].d3;
}
void xuat(sinhvien s[],int n)
{ int i;
for (i=0;i<n;i++)
{ printf("
%s %f",s[i].hoten,s[i].tong);;
}
}
void sapxep(sinhvien s[],int n)
{ int i,j;
sinhvien temp;
for(i=0;i<n-1;i++)
for (j=i+1;j<n;j++)
{ if(s[i].tong<s[j].tong)
{temp=s[i];
s[i]=s[j];
s[j]=temp;
}
printf("
%d %s %s %2.2f", s[i].ma, s[i].hoten, s[i].nam, s[i].tong);;
}
xuat(s,n);
}
void nhapfile(sinhvien s[],int n)
{int i;
FILE*f;
f=fopen("D:\SV.txt","wt");
for(i=0;i<n;i++)
{
fprintf(f,"
%d",s[i].ma);
fgets(s[i].hoten,30 ,f);
fgets(s[i].nam,30,f);
fprintf(f,"%f",&s[i].d1);
fprintf(f,"%f", &s[i].d1);
fprintf(f,"%f", &s[i].d2);
scanf("f,%f", &s[i].d3);
}
fclose(f);
}
int main()
{ int n;
sinhvien danhsach[30];
printf(" nhap n");
scanf("%d",&n);
nhap(danhsach,n);
sapxep(danhsach,n);
xuat(danhsach,n);
nhapfile(danhsach,n);
getch();
}
-
16-03-2016, 04:35 PM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Bài bạn làm không cẩn thận nên bị thiếu dấu } làm vòng for ko chạy đúng mình sửa lại code tí
Mã:#include<stdio.h> #include<conio.h> using namespace std; struct sinhvien { char hoten[30], nam[30]; float d1, d2, d3, tong; char ma[30]; }; void nhap(sinhvien s[], int n) { int i; for (i = 0; i<n; i++) { fflush(stdin); printf(" nhap vao sv thu %d", i + 1); fflush(stdin); printf(" nhap vao ma so:"); gets(s[i].ma); printf("ho ten "); gets(s[i].hoten); printf("nam sinh "); gets(s[i].nam); do { printf(" Nhap vao diem mon 1: "); scanf("%f", &s[i].d1); if (s[i].d1 < 0 || s[i].d1 > 10) { printf(" Diem hoa khong hop le. Nhap lai!"); } } while (s[i].d1 < 0 || s[i].d1 > 10); do { printf(" Nhap vao diem mon 2: "); scanf("%f", &s[i].d2); if (s[i].d2 < 0 || s[i].d2 > 10) { printf(" Diem hoa khong hop le. Nhap lai!"); } } while (s[i].d2 < 0 || s[i].d2 > 10); // fflush(stdin); do { printf(" Nhap vao diem mon 3: "); scanf("%f", &s[i].d3); if (s[i].d3 < 0 || s[i].d3 > 10) { printf(" Diem hoa khong hop le. Nhap lai!"); } } while (s[i].d3 < 0 || s[i].d3 > 10); s[i].tong = s[i].d1 + s[i].d2 + s[i].d3; } } void xuat(sinhvien s[], int n) { for (int i = 0; i<n; i++) printf(" %s %f", s[i].hoten, s[i].tong); } void sapxep(sinhvien s[], int n) { int i, j; sinhvien temp; for (i = 0; i<n - 1; i++) for (j = i + 1; j<n; j++) { if (s[i].tong<s[j].tong) { temp = s[i]; s[i] = s[j]; s[j] = temp; } printf(" %s %s %s %2.2f", s[i].ma, s[i].hoten, s[i].nam, s[i].tong);; } } void nhapfile(sinhvien s[], int n) { int i; FILE*f; f = fopen("D:\SV.txt", "wt"); for (i = 0; i<n; i++) { fprintf(f, " %d", s[i].ma); fgets(s[i].hoten, 30, f); fgets(s[i].nam, 30, f); fprintf(f, "%f", &s[i].d1); fprintf(f, "%f", &s[i].d1); fprintf(f, "%f", &s[i].d2); scanf("f,%f", &s[i].d3); } fclose(f); } int main() { int n; sinhvien danhsach[30]; printf(" nhap n: "); scanf("%d", &n); nhap(danhsach, n); sapxep(danhsach, n); xuat(danhsach, n); nhapfile(danhsach, n); getch(); }
-
17-03-2016, 03:42 PM #4Banned
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
minh sửa lại theo đề của mình nhưng bị lỗi dòng fgets(s[i].nam,30,f) cố gắng sửa mà vẫn bị lỗi
Hiện nay, có khá nhiều sản phẩm dương vật giả giá rẻ xuất hiện trên thị trường. Chúng đến từ các nhà sinh sản ở khắp nơi trên thế giới như Mỹ, Nhật, Hồng Kông…Hơn nữa, các đồ chơi này cũng khá đa...
Top một số dương vật giả rẻ và...