Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
shaffle
1 / 1 / 0
Регистрация: 21.11.2010
Сообщений: 85
#1

Rand число в char - C++

08.11.2011, 00:16. Просмотров 1597. Ответов 25
Метки нет (Все метки)

Доброго времени суток. Ребята, очень нужна ваша подсказка... мне надо записать в файл рандомные числа (с диапазоном) через rand(). я использую FILE *stream для файлов. поэтому, мне число надо переводить в рядок
проблема в том что не работает такое

char qw[5];
qw=itoa(10,qw,5);

p.s.
10 и 5 необязательные данные, могут быть любые
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alkagolik
1511 / 617 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
08.11.2011, 19:12     Rand число в char #21
Цитата Сообщение от shaffle Посмотреть сообщение
зачем в структуре вы использовали typedef?
можно и без него. А зачем? смотри ниже
Цитата Сообщение от shaffle Посмотреть сообщение
для чего вы используете булевские переменные в функциях?
булевы. Вы посмотрите код, там же видно что булев флаг выступает в роли ключа - считывать\записывать из стандартного i\o или из файла. Можно написать и по другому, но у вас не примут.
Цитата Сообщение от shaffle Посмотреть сообщение
и не понятно больше всего эта строка "FILE *my_fopen(FILE *fp)"
что она значит? это как функия?
да, это функция. Она имеет тип FILE *, и возвращает соответственно такой же. Дело в том, что где - то в *.h Си - шных заголовках как раз через typedef продублирован тип (какй оменно, искать не будем). Будь то unsigned int или unsigned long нам неважно. Мы свободно оперируем с дубликатом типа FILE.
пример (это не факт что именно так, просто для понимания)
C
1
typedef unsigned long FILE
теперь мы можем оперировать не громоздким выражением unsigned long, а его дубликатом FILE.
shaffle
1 / 1 / 0
Регистрация: 21.11.2010
Сообщений: 85
08.11.2011, 19:45  [ТС]     Rand число в char #22
понял, но надо еще подучить) у вас есть какая то литература, для изучения. а то я читаю Глушакова, и там не все есть..
alkagolik
1511 / 617 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
08.11.2011, 20:11     Rand число в char #23
Цитата Сообщение от shaffle Посмотреть сообщение
у вас есть какая то литература, для изучения
ищем Керниган & Ритчи. Язык программирования Си

Добавлено через 2 минуты
Цитата Сообщение от alkagolik Посмотреть сообщение
А зачем? смотри ниже
тут я неправильную смысловую нагрузку вложил. Имел ввиду вот что:
А зачем - смотри ниже.
shaffle
1 / 1 / 0
Регистрация: 21.11.2010
Сообщений: 85
08.11.2011, 21:49  [ТС]     Rand число в char #24
тяжелый код все таки. сугубо на Си. даже не знаю что мне препод скажет. решил со своим кодом довазиться, и наткнулся на ошибку не понятную....
Rand число в char

программа компелирует нормально, но в конце такое выдает...

вот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
// probi.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <conio.h>
#include <Windows.h>
#include <stdlib.h>
#define size    10
using namespace std;
 
struct doma
{
    int floor;
    int flat;
    int room;
};
 
void vvod(doma hata[], FILE *fil)
{char qw[100];
    for(int i=0; i<size; i++)
        {   cout<<"Дом №"<<i+1<<"\n";
            cout<<"Введите кол-во этажей\n";
            cin>>qw;
            strcat(qw,"\n");
            fputs(qw,fil);
            
            cout<<"Введите кол-во квартир\n";
            cin>>qw;
            strcat(qw,"\n");
            fputs(qw,fil);
 
            cout<<"Введите кол-во комнат\n";
            cin>>qw;
            strcat(qw,"\n");
            fputs(qw,fil);
 
            system("cls");
        }
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_CTYPE,"");
        doma hata[size]; 
        FILE *file;     
        file = fopen("Doma.txt","w+t");
        vvod(hata,file);
        fclose(file);
        
 
 
        file = fopen("Doma.txt","r+t");
        char str[100];
        for (int i=0; i<size; i++)
        {
            hata[i].floor=atoi(fgets(str,size,file));
            hata[i].flat=atoi(fgets(str,size,file));
            hata[i].room=atoi(fgets(str,size,file));
        }
 
        fclose(file);
        for (int i=0; i<size; i++)
            cout<<"№"<<i+1<<" колво этажей = "<<hata[i].floor<<"  кол-во квартир = "<<hata[i].flat<<"  кол-во комнат = "<<hata[i].room<<endl;
        
        delete (hata);
    system("pause");
    return 0;
}
alkagolik
1511 / 617 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
08.11.2011, 22:31     Rand число в char #25
ну что тут сказать... есть все готовое. если что-то непонятно, то самое время скопировать в буфер, вставить в поиск и почитать результат.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.11.2011, 22:38     Rand число в char
Еще ссылки по теме:

C++ Преобразовать число int в строку прописью char
C++ Char* в число по ASCII кодам
Вписать в массив char число C++
Занести число в переменную, типа char C++
C++ Как перевести шестнадцатеричное число в char?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
shaffle
1 / 1 / 0
Регистрация: 21.11.2010
Сообщений: 85
08.11.2011, 22:38  [ТС]     Rand число в char #26
спасибо всем за помощь, очень благодарен и многое узнал . тему можно закрывать.
Yandex
Объявления
08.11.2011, 22:38     Rand число в char
Ответ Создать тему
Опции темы

Текущее время: 13:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru